Perl
- "use strict" を使っての定数宣言
"use strict" プラグマを使ったスクリプト内で、 ・定数(グローバルかつ不変) ・グローバル変数 を宣言するには、どのようにすればいいのでしょうか。 windows 2000, ActivePerl 5.6.1
- 漠然と、Perlで何を作っています?
こんにちは。 漠然とした質問ですが、皆様Perlでどんなプログラムを作っていらっしゃるのでしょうか。 最近Javaに押されているような気もします。 p.s.先日Visual Basicでも同じような質問をさせていただきました。 私自身は、VBとPerlをかじった程度で、主に業務用私用ツールを作るのに利用しています。
- ファイルロックの仕方
Perl5を使ってCGIを作っています。 環境としては、OSはLinuxです。 ファイルロックなんですが、flockを使うということはわかっているのですが、ファイルが壊れ難いファイルロックの書き方というのがあるのなら教えて欲しいと思って質問しました。 初心者なので、出来れば書き方・使い方を詳しく教えて頂けたらと思います。 よろしくお願いします。
- 自分はオープンできない?
実行中のスクリプトファイルが自分自身をオープンするのは、読み込みですらムリなのでしょうか? open(F, $ENV{'SCRIPT_NAME'});
- s///eg変換で
# ↓OKWEBでは半角カナ表示できないけど、半角カナのつもり @kptk = ( 'ヴ', 'ー', 'ッ', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ア', 'イ', 'ウ', 'エ', 'オ', ・・・ ); # ↓こちらは全部全角カナ @kptv = ( 'ヴ', 'ー', 'ッ', 'ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ァ', 'ィ', 'ゥ', 'ェ', 'ォ', 'ア', 'イ', 'ウ', 'エ', 'オ', ・・・ ); for(my $n = 0; $n < @kptk; $n++){ $data =~ s/$kptk[$n]/$kptv[$n]/eg; } などとして、半角カナを全角に直したいのですが、どうも半角の小さい'ァ'だけがまともに変換されません。 その付近の文字やそれ以降すべての文字が文字化けします。 インターネットエクスプローラ5から呼び出しています。 サーバーはソラリス。 文字コードはEUCです。
- perlのエディタでおすすめを教えてください
perlを書く際、みなさんのおすすめのエディタは何ですか?思いっきり初心者ですが「だったらメモ帳使え!」などとおっしゃらずに、フリー、シェアに限らずこれはいいよというのをお聞かせ願いたいです。PerlBuilderというのがものすごくいい と、とあるHPに書いてあったのですがPerlBuilderというソフトはみなさんよくお使いなのでしょうか?
- AN HTTPとActivePerlでローカルで動作させたい
perlの勉強をはじめるため、ローカルでperlを使える環境を作ろうとしています。ActivePerl618とAN HTTP Server 1.31を使用しています。 まず、それぞれをインストールしsimple.cgiを作成、それをC:\httpd131/cgi-bin/に保存。IEでhttp://127.0.0.1/cgi-bin/simple.cgiを入力しました。けれどHTTP500内部サーバーエラーと出て表示されません。一体どうしてなのでしょうか?IEの設定か何かを変更するのでしょうか? もし、これを読んでくださっている方が PCJapan 2000年11月号 をお持ちでしたらわかりやすいと思うのですが・・・。(もしくはこのサイトにまったく同じものがあります。http://www.zdnet.co.jp/magazine/pcjapan/0011/sp3/ )2000年11月号 98ページ 図5写真10 (サイトのページで言うと8/14の図5 写真10の文章です。)に---以下抜粋---エラーが出て表示されない場合は「C」-「Perl」にあるファイルをAN HTTPの「cgi-bin」にコピーしてから試みよう。---以上抜粋---と書いてあるのですが、一体C:\Perlのどのファイルをコピーするのでしょうか?試しにC:\Perl\bin のファイルをコピーしてMS-DOSプロンプトで先ほど作成したsimple.cgiを実行したところちゃんと動きました。けれどIEでやってもまったく動きません。これ以前(97ページ)の動作テスト(cgiが動作するかAN HTTPのテスト)は全てうまくいきました。IEでローカルでcgiを実行するにはどうしたらよいのでしょうか?ちなみにOSはWindows98SE IEのバージョンは5.50.4807.2300 SP2です。どうかお助けください。よろしくお願いします。
- ブラウザ上で不可視にするには?
掲示板のCGIで、投稿の為のメールを書くtextboxがMboxだとすると・・・ それを表示させないようにするには、どのように変更が必要なのか宜しければ教えて下さい。 例えば、 <input type=hidden name=Mbox value="$Mbox"> なら、hiddenをつけるといいと思うのですが・・・ 下記の場合ならどのように変更がいるのかがわからないのです。 if($o_mail){ $Mbox= <<_MAIL_; #↑ここだと思いますが・・・違うのかな? <tr><td><br></td><td>└>このツリーのレス記事をメールで受信しますか? YES/<input type=hidden name=send value=1> NO/<input type=hidden name=send value=0 checked></td></tr> _MAIL_ }
- iモードの絵文字16進数の正規表現について
iモードの絵文字をフォームから送信された時の処理をperlでしています。 具体的にはフォーム内容をデコードする前に、文章に絵文字が含まれているか16進数の状態でチェックします。含まれていれば、それらを10進数表記に変え、データとして保存しています。 ここまでは上手くいったのですが、問題が発生しました。 iモードからはShift_JISでデータが送信されてきますが、このデータの中に2バイト目の文字コードが絵文字の1バイト目の文字コードと同じであり、かつその次の文字の1バイト目が絵文字の2バイト目と同じだった場合に間違ってその文字を絵文字として処理してしまいます。 つまりある2文字の2バイト目と1バイト目が偶然絵文字と同じ文字コードだった場合に絵文字として取り扱ってしまうのです。(例:滲滲) これを防ぐ方法が解る方がいらっしゃればご回答下さいm(_ _)m ※perlメモの「ただしくパターンマッチさせる」をShift_JISに変えてやってみましたが、うまくいきませんでした。。。
- ベストアンサー
- kodai_sumio
- Perl
- 回答数1
- Wwwmailの変更の方法(Perl)
現在とほほさんのフリーウェアであるWwwmailを使ってf-無メールを送ろうとしているのですが、送られるsubjectをとフォームのダイアログボックスの入力項目のいくつかを繋げた物にしたいのですが、変更しても方法が悪いのか文字列として認識されてしまいます。 その部分は:subject ='ここがタイトル';となっていたのでsubject ="$FORM{'Email'}+$FORM{'name'}";の様に変更しても””の間がその文字のままメールのタイトルになって送られてきます。出来れば入力フォームで取得している日時もタイトルに入れたいので、どなたかWwwmailを使用してメールのタイトルを変更する方法をご存知の方がいたら教えて下さい。
- ベストアンサー
- noname#2601
- Perl
- 回答数6
- Perlで確認したい事が。。。
現在業務でPerlを急に使う事になり、一応プログラムを組みサーバーマシンにUPする事になったのですが。。。 向こうにPerlのパスを聞いた所「必要ありません」との答えが返ってきました。。。私が勉強したいくつかの本(リャマ本含む)ではパス=必要と言う認識があるのですが、必要無い場合もあるのですか?こんな事は初めてなので分かる方教えて下さい。
- ベストアンサー
- noname#2601
- Perl
- 回答数4
- 頭にperlとつけないと実行できない
solaris8・perl5.6.1において、作成したperlのスクリプトを実行する時に、 頭にperlをつけて $ perl ファイル名 としないとスクリプトが実行できません。 実行ユーザーにパスはとおっています。 普通に $ ファイル名 で実行するにはどうしたら良いかアドバイス頂けないでしょうか。 よろしくお願いいたします。
- アドレスの暗号化について
検索エンジン等で検索結果のアドレスが暗号化?されていますがどうすればできるのですか? 今回、ユーザーIDとパスワードを入力して検索するページを作成しているのですが、検索結果を複数ページに表示するのにリンクアドレスに引数として渡す方法を使用しています。 パスワードがばれないように暗号化して引数にしたいのですが、解読方法を含めて宜しくお願いします。
- ベストアンサー
- noname#8374
- Perl
- 回答数1
- perlについての話題が充実している掲示板を教えてください
仕事でperlを使って書かれたソースをカスタマイズすることになったのですが、 (オリジナルのソースには仕様書など一切なし。作成者の了解を得て フリーウェアをカスタマイズ) ソースコードがあまりに複雑で、困っています。 調べても良く分からないところはどんどん質問したいのですが、 メーリングリストは手間がかかるしセキュリティの問題もあるので、 良い掲示板を探しています。 よろしくお願いします。
- 置換演算子についての疑問
お世話になっております。horagaiです。質問160286 http://oshiete1.goo.ne.jp/kotaeru.php3?q=160286 と同じようなことをやりたかったので回答#2のやり方を 試してみました。そこでいろいろ疑問が出てきたので教えていただきたいと思います。 (1) $num=<> ; while($num =~ s/(.*\d)(\d\d\d)/$1,$2/g){;} print "num=$num\n"; とするとたしかにうまくいくのですが、これでうまくいく理由がわかりません。 置換演算子が後ろからパターンマッチをしていくのだとすればわかるのですが。 前からだとするとたとえば123456は最初に(1)(234)56で引っかかって1,23456 。 次に (1,2)(345)6 で引っかかって1,2,3456 ・・・。 などとなりそうな気がします。 (2) またwhileを使わずに $num =~ s/(.*\d)(\d\d\d)/$1,$2/g; としてみると 例えば入力が 12345678 とすると num=12345,678 と最初の3桁しか区切ってくれません。マニュアルを見ると 「gオプションは出現したパターンをすべて置換する。」 と書いてあるのにどうしてでしょう。 前からマッチするせよ後ろからマッチするにせよカンマが1つしか 入らないということはないと思うのですが。 以上、私が根本的な勘違いをしているかも知れませんので その辺のところもご指摘いただければ幸いです。 ちなみにOSはLinux.Perlのバージョンは5.004です。
- “chmod”のカタカナ読みを教えて下さい。
“chmod”のカタカナ読みを教えて下さい。 Perlの参考書を2冊もっていますが、いずれもカタカタ読みが記されていないので、なんと発音して読めばいいのか困っています。 レベルの低い質問で恥ずかしい限りですが、どなたか教えていただけると大変助かります。 よろしくお願いします。
- 引数をカンマ句切りしたデータにしたいです。
お世話になります。 Perlのプログラムの中で、 引数の数値を、後ろから3桁毎にカンマ句切りして 表示したいと思っています。 (例) 10000000 → 10,000,000 カンマを入れる方法を教えてください。 よろしくお願いいたします。
- 投票データをハッシュを使用して入出力する
こんにちは。tyabudaiと申します。 アンケート(投票)のCGIを 作成しようと思っています。 ログの中身は、(とりあえずカンマ区切りで) 「項目,数値」です。 処理のイメージとしては、 まずログファイルの内容を、 「項目」をキーとしたハッシュに取り込みます。 投票があった場合、 「項目」をキーとして「数値」を取り出し、 1つ増加させる処理をしたいです。 現在、他サイト様よりCGIをダウンロードして そのような処理がないか探していますが、 全く手がかりがありません。 まずは、ログファイルの内容をハッシュに取り込む方法を お教えいただけないでしょうか。 ご存知の方のお力添えいただければ幸いです。
- 置換のエラー Unmatched [ before HERE mark in regexとは?
チャットのログにある特定の文字にリンクを貼りたいと思っています。 たとえば『マイクロソフト』『アップルコンピュータ』『IBM』というキーワードを前もってデータファイルにURLと共に登録しておいて、ログにそれらのキーワードが出てきたらそれらのサイトへのリンクタグをつけます。 で、以下のようなプログラムで置換を行うと決まって『ー』という文字の含まれるキーワード(たとえばアップルコンピュータ)を置換するときにエラーになります。 \のエスケープ文字をつければいいと言うものでもなく、正規表現の問題というだけでどうすればいいのか全く分かりません。また、他の文字でも起こり得ることなのかも分かっていません。アドバイスよろしくお願いします。 Apacheのエラーログ [Tue Oct 23 16:16:54 2001] [error] [client 127.0.0.1] Unmatched [ before HERE mark in regex m/アップルコンピュー << HERE タ/ at d:\PROGRA~1\APACHE~1\APACHE\CGI-BIN\CHAT\CHATPOST.CGI line 216. ***置換部分の一行*** $CHAT{Message} =~ s/$FILE{Keyword}/$FILE{Keyword}\<a href="http:\/\/$FILE{Link}" target="_blank"><font size=1>*<\/font><\/a>/g;
- 配列の終わりまで while
ファイルの終わりまでループをするなら while($input = <IN>){ ・・・とすればよいかと思うのですが、 配列の終わりまでループをするにはどうしたら よいのでしょうか。 while(@test = ???){