Perl
- Prel正規表現で'$1$'.$saltのあたりが理解できない。
小生Perlを勉強中です。 Perl Codeに以下のようなパスワード暗号処理のサブルーチンが ありましたが、読めません。教えて下さい。 sub encrypt{ local($inpw)=$_[0]; local(@SALT,$salt,$encrypt); @SALT=('a'..'z','A'..'Z','0'..'9','.','\'); srand; $salt=$SALT[int(rand(@SALT)).$SALT[int(rand(@SALT))]; $encrypt=crypt($inpw,$salt)||crypt($inpw,'$1$'.$salt); return $encrypt; } とあります。 特に、下から3行目の($inpw,'$1$'.$salt)が 理解できません。 解説していただければ幸いです。
- 全角ひらがな、漢字をマッチさせたい
Perlでフォームに入力された値をチェックするとき、入力される文字列は半角文字以外を入力されるとエラーになるスクリプトを書きたいと思っています。 (ただし、半角に出来る文字「カタカナ、記号等」は半角に変換するのでエラーでは無いとしたいです) どうすれば実現出来るでしょうか。 よろしくお願いします。
- 最終更新日時は取れる?
自分の作ったサイトでは、更新日時を取る方法は知っているのですが、他人が作ったサイト(例えば、ヤフー等)の最終更新日時を知りたいときどうすれば良いのでしょうか?プログラムを扱わずに知れれば、なお良いと思っています。 最終更新日をとってくる、フリーウェアでも構いません。ご存知でしたらお教えください。
- ベストアンサー
- noname#107402
- Perl
- 回答数2
- 半角カナから全角カナに変換
Jcode.pmを使用して半角カナから全角カナに変換したいのです。 こちらの過去ログを拝見し、以下のようなロジックを記述したのですが、 ”Undefined subroutine &Jcode::h2z_euc called at test_jcode.pl line 7.”というエラーが出てしまいます。 use Jcode; $line = 'アイウエオ'; $ato = &Jcode::h2z_euc(\$line); print $ato, "\n"; どなたかご回答よろしくお願いいたします。
- 連想配列とforeach
連想配列 %hogeにおいて、.name の名前が最後に付く配列の値を取り出したいと思い、下記のようにしました。 foreach ($hoge{/.*\.name$/}) { print "$_\n"; } としてみましたが期待した出力がされませんでした。こういう描き方って出来ないんでしょうか?それともどこか間違ってますか?
- ファイルからある文字列の個数を数えたい
perl5でunixの"wc"や"grep -c"みたいに1つのファイルの中からある文字列の個数を カウントするスクリプトを作ろうとしています。 ファイルは256文字×10万行くらいのテキストで、 検索する文字列は15文字前後×40個(例えば「apple-000001」「lemon_orange」など)です。 どのようなスクリプトを組んだら効率よく各文字列をカウントできるのでしょうか? それよりwcやgrep -cを40回行った方が早いのでしょうか?
- ベストアンサー
- noname#41382
- Perl
- 回答数3
- perlはc++のようなクラスや構造体は作れない?
c++で class hoge{ hoge(); int menber; }; というようなクラス定義と hoge x; というようなクラス変数定義のようなのは、Perlではできないのでしょうか。 メンバ関数はべつにいいのですが、その構造を配列にして管理したいのです。 たとえば、個人情報のような。 Perlではスタティックなメンバしか持てないと聞いたのですが、本当ですか?
- 配列の中から文字列を探し、その番号を返す
ある配列の中から、'Address' という文字列を探し、 もし見つかれば、その配列の何番目に格納されている か値を返してくれる関数はないでしょうか。 例えば、 @test[0] = 'No'; @test[1] = 'Name'; @test[2] = 'Point'; @test[3] = 'Address'; とあった場合、かえってくる値が 3 という具合 です。
- Perlで検索エンジン作成は可能!?
Perlを使ってLYCOSのような 検索エンジンを作成できますか? やはりPerlではなくほかの言語で 作成するのでしょうか?
- ベストアンサー
- noname#1241
- Perl
- 回答数2
- forの中にリストを書くとその後の動作がおかしくなります。
パールの初心者です。 こんなプログラムを作ってみたのですが、 @arの要素数だけ処理をしたいのですが、 処理後@arを使った配列が参照できなくなります。 理由が良くわかりません。 どなたかご教授願います。 $ar[0]=[1,2,3]; $ar[1]=[4,5,6]; print "@{$ar[0]}\n"; #表示される。 for(@ar){ #これが悪いみたい。 open(IN,'test.pl'); while(<IN>){ } close(IN); } print "@{$ar[0]}\n"; #表示されない。
- 入力テキストの属性のチェック
Perlからcsv形式のデータを読み込み、1項目ごとに属性のチェックをしたいのですが、 属性を調べる方法を教えてください。 項目長はlength関数で調べることが出来るのですが、属性を調べる関数がなかなか見つからないのです。 よろしくお願いいたします。
- Perlによる文字の抽出方法
プログラム初心者なので、あまりうまく説明できませんが、よろしくお願いします。 あるテキストデータから、一部分だけをだけを取り出したいのです。 例えば、 例1 ■見出し1■ ・データ1 ・データ1 ■見出し2■ ・データ2 ・データ2 ■見出し3■ ・データ3 ・データ3 のようなデータから、■見出し2■とその中にある内容(・データ2の内容は いくつもあるものとする)でだけを取り出したいのですが、どうすれば よいのでしょうか?■見出し*■をkeyとしてハッシュに入れて、複数個 の値をつればようのでしょうか? それとも、他の方法で処理したほうがよいのでしょうか? 文字列から文字列までの指定というのは、どうすればよいのでしょうか? 回答よろしくお願いします。
- ASCIIとバイナリの相互変換がしたい
アスキーで入力されたバイナリを、ソケットで送信するというものと書きたいのですが・・・。 具体的には、ファイルに 0x414243 と書いてあって、これを ABC という文字列でsocket通信で送りたいのです。 (これで、バイナリレベルでは414243が送れるはず) socketの部分はできているのですが、変換でつまずいています。 まず、配列 @temp を用意して、41 42 43を順にpushしました。で、次にこれをABCに直してソケットの送信関数に渡せばいいのですが、どうやってもABCになってくれません。 pack("C*","0x41","0x42","0x43") とやれば、ABCが出てきますが、 pack("C*",@temp) では当然のようにダメ。 "0x41""0x42""0x43"を順に@tempに入れましたが、これも失敗。 Perlの16進表現はよくわからないのですが、どうしたらいいのでしょうか。
- コマンドラインでGET or POSTできますか?
ふとしたことで、cgiからcgiを呼び出す必要に迫られてしまいました。そこで、呼び出す側はsystem()でやるとして、引数はどのように渡したらいいのでしょうか。 ブラウザでは、メソッド指定で呼び出せますが、コマンドラインでgetまたはpostで渡す方法というのはありますか? /hoge.cgi?name=value というのをPOSTでやりたくて、 $tmp = "name=value"; system("echo $tmp | perl hoge.cgi"); とか試して爆沈しました...(汗
- perlからsqlを実行した結果を取り出したい。
perlからsql文を発行し、実行した結果を変数に 格納したいのですが、どうしていいのかわかりません。 初歩的な質問で申し訳ありませんが、よろしくお願いします。
- ハッシュにおける値の取り出し
初めて質問します。 Perl初心者なので、初歩的な質問かもしれませんが、 どなたかご教授お願いします。 下記のようなデータをDBから読み込み、ハッシュに 格納しました。しかし、個々の値にアクセスできず、 困っています。 例えば、NO01の項目1にアクセスしたい場合は、どうしたらよいのでしょうか。 %DATA NO KOUMOKU1 KOUMOKU2 01 aaa AAA 02 bbb BBB 03 ccc CCC 04 ddd DDD 05 eee EEE よろしくお願いします。
- 地図をインターネットで表示したい
インターネットを使って自分の住まいなどを表示させたいと思っているのですが、地図のデータをどのように入手すれば良いのか解りません。又、わざわざスキャナーで地図を取込むのではなくデータとして地図を販売している所などはないのでしょうか? 宜しくお願いします。
- perl インストール後にする動作確認方法
perl初心者です。なおかつUNIXの初心者です。 現在、solaris8にperlをインストールしたのですが、 一応正常にインストールは出来たみたいです。 しかし、実際に正常に動作するのか確認するには、 どのような方法を使えば良いのでしょうか? UNIXに関しても、あまり知識が深くないものですから、 どうすれば良いのか悩んでいます。 本当に何をしたら、動作確認が出来るのか分からずに 先に進めない状態です。 何分素人ですので、出来るだけ細かく教えていただければと思っています。 皆さん、助けてください。よろしくお願いします。
- ベストアンサー
- tatsuyapapa
- Perl
- 回答数2