Perl

このカテゴリーの記事(新着順)


WindowsでActivePerlの環境においての、WWW::Mechanizeのインストール方法。 Spidering Hacks(オライリージャパン)の本に出てくるモジュール、WWW::Mechanize。 WWW::Mechaniz...

日時: 2007年04月21日 06:56

ハッシュや無名ハッシュを使って、サブルーチンに引数を渡し、サブルーチンを呼び出すことが出来る。 -------------------------------------------- #!c:/Perl/bin/Perl.exe -w...

日時: 2007年04月17日 03:51

ハッシュだけでなく、サブルーチンや配列もリファレンスを作ることが出来る。 --------------------------------------- #!c:/Perl/bin/Perl.exe -w print "Con...

日時: 2007年04月17日 03:41

無名ハッシュと呼ばれ、ハッシュに名前を付けなくても、値を参照する方法。 通常、 my %hash = ("キー" => "データ値"); # ハッシュ設定 my$info = \%hash; # ハッシュをリファレンス格納 print $...

日時: 2007年04月17日 03:29

ハッシュは、my %hash = ...として、ハッシュ設定しますが、%hash の先頭に、\ をつけ、\%hash とすると、ハッシュのリファレンスとなり、ハッシュの内容を参照するメモリアドレスが格納されます。 -------------...

日時: 2007年04月17日 02:55

ファイルを開いたり、閉じたりする操作は頻繁に行われるので、サブルーチン化してみる # *は型グログといい、ファイルハンドルを変数に格納する時には付けておく $fhはファイルハンドル、$modeはモード、$filepathはファイル名 my ...

日時: 2007年04月15日 18:39

Perlなどの実行をコマンドプロンプトで行う場合、日本語を入力したいときは・・・ Altキーを押しながら、半角/全角キー、を押すと、日本語入力モードに変わる。 また、アルファベット入力に戻したいときは、Altキーを押しながら、半角/全角キー...

日時: 2007年04月15日 18:12

読み取り専用でファイルを開くには、open関数で指定するモードを"<"とする。 open (ファイルハンドル, "<", ファイル名); で、ファイルをまず開いた後、 $変数 = <...

日時: 2007年04月15日 17:54

ファイルを開いて、文字を書き込んで、保存するには、open関数を用います。 open (ファイルハンドル, "モード", "ファイル名"); または、 open (ファイルハンドル, "モードに続けてファイル名"); モードは、 >  新規...

日時: 2007年04月15日 17:28

サブルーチンとは、ひとまとめになった処理に名前を付けたもの。(PHPでいうfunctionでの関数定義に似ている) sub サブルーチン名 { 処理1; 処理2; 処理3; } のように書きます。 サブルーチンに引数を渡す...

日時: 2007年04月15日 05:37

変数 $new と、$old の内容を入れ替えたい場合、リストを使うと簡単。 ($new, $old) = ($old, $new); とすると、データの入れ替えが簡単に行えます。 リスト内のデータを参照したい場合、 $youbi = ("...

日時: 2007年04月15日 05:23

HTMLのソースを長い行にわたって出力する場合、Perlのヒアドキュメント使うと便利です。 まず、<<に続けて、任意の文字列を入力し、; で終わります。 そして、HTMLの文章を書いた後、最初の任意の文字列と同じ文字列を最後...

日時: 2007年04月15日 04:43

ある文字列の中に、検索文字列があるかどうかを調べるのに使います。 index (検索対象, 検索文字列, 検索開始位置); $big = "hello world !"; $small = "world"; $where = index (...

日時: 2007年04月15日 00:20

open を使う時には、ファイルハンドルとファイル名を指定する。 open CONFIG, "dino";   入力用 open CONFIG, " 入力用の場合は、既存のファイル dino をオープンして、そのファイルの中身を、CONFI...

日時: 2007年04月14日 17:30

each関数は、キー/値のペアを2要素のリストとして、返す。 以下のような、Perl文を書くと、 -------------------------------- print "Content-type:text/html\n...

日時: 2007年04月13日 03:42

keys関数とvalues関数の使用例です。 my %hash = ( "a" => 1, "b" => 2, "c" => 3, ); my @key = keys %hash my @values = values %...

日時: 2007年04月13日 03:29

Perlのハッシュは、PHPでいう連想配列みたいなもの。 キー(添え字)として、数字ではなく、文字列を使った配列です。 $hash{$some_key} のような書き方をする。 $family_name{"fred"} = "pit"; $...

日時: 2007年04月13日 03:12

$n = &max(10, 15) &は、サブルーチンを呼び出す合図。 ここでは、サブルーチンmaxに引数リスト(10, 15)を渡して、呼び出している。 このときに渡される引数リスト(この場合(10, 15))は、@_ という特別な配列変...

日時: 2007年04月12日 21:19

shift演算子と、unshift演算子は、配列の先頭に対して、作用する。 shift演算子は、配列の先頭の要素を取り出し、新たな配列は要素がひとつ減る。 unshift演算子は、配列の先頭に要素を追加し、新たな配列は要素がひとつ増える。 ...

日時: 2007年04月12日 20:09

pop演算子は、配列から最後の要素を取り出して、それを返す。 新たな配列は、最後の要素が取られて、要素がひとつ減ることになる。 @array = 5..9; $a = pop(@array); とすれば、 $aは9になり、@arrayは(5...

日時: 2007年04月12日 20:01

@name = ("大田", "山下", "西本"); または、qw ショートカットを使って、 @name = qw / 大田 山下 西本 /; と、書いた場合、 $name[0] = "大田"; $name[1] = "山下"; $nam...

日時: 2007年04月12日 19:49

範囲演算子 .. 左のスカラー値から、右のスカラー値までの範囲で、1ずつ増加する値のリストを作る。 (1..5)       # (1, 2, 3, 4, 5) (1.5..5.8)     # (1, 2, 3, 4, 5) 小数点以下...

日時: 2007年04月12日 19:36

$name[0] = "大田"; $name[1] = "山下"; $name[2] = "西本"; $name[3] = "河野"; $name[99] = "氷川"; という、配列があった場合。 $name[4] から、$name[98...

日時: 2007年04月12日 19:23

まずは、コマンドプロンプトを立ち上げます。 cd ○○ で、CGIファイルを保存しているディレクトリへと移動。 ひとつ上のディレクトリに移動するには、「cd ..」 と入力して、Enterキー。 下層のディレクトリに移動するには、「cd デ...

日時: 2007年04月12日 18:56

chomp演算子は、変数に対してのみ作用する。 変数には、文字列が入っている必要がある。 そして、その文字列にの末尾に改行文字が入っている場合、chompは、その改行文字を削除します。 $text = "こんにちは、みなさん\n"; cho...

日時: 2007年04月12日 18:49

数値と文字列の比較演算子 比較         数値演算子  文字列演算子 等しい           ==        eq 等しくない         !=        ne より小さい         より大きい        ...

日時: 2007年04月12日 17:48

1個の値を格納できる入れ物。 変数の名前は、ずっと変わらないが、その中に保持する値は変わる。 頭に、$記号を付け、英文字、数字、下線が有効。 大文字と小文字は、別の文字として扱われる。 ゆえに、$fred と $FRED は、別のスカラー変...

日時: 2007年04月12日 17:26

1個の小文字 x によって表されます。 "fred" x 3     ⇒ "fredfredfred" となる 5 x 4        ⇒ "5555" となる 掛け算の演算子 * と違うことに注意。 また、繰り返し回数(右側のオペランド...

日時: 2007年04月12日 17:15

頭に次のものが付くと・・・ 0   8進数 0x  16進数 0b  2進数 として、扱われる。 次の数字は、全て10進数での255 0377 0xFF 0b11111111 0377 は、8進数なので、10進数になおすと・・・ 8の2乗×...

日時: 2007年04月12日 17:03