パンプキンスパイスラテ

IT系のことが多めの日記帳です

Perl初心者が自分の為にまとめた覚えておくことメモ

コマンドラインで perl -cw xxx.pl 文法チェック
# 一行コメント
=pod ・・・ =cut 複数行コメント
$ スカラ変数
@ 配列変数
% 連想配列(ハッシュ)
& サブルーチン
配列の添字は0から始まる
@xxx=('a','b'); @xxx $xxx[0] $xxx[1]
(ひとつひとつの場合はスカラ変数になる)


ハッシュ %xxx=('a','あ','b','い');
こう書いても同じ %xxx=('a'=>'あ','b'=>'い');


\ リファレンス(変数名にリンクされたアドレスを記録)
・リファレンスから変数の値を参照するには、参照先の変数の識別子を先頭に付け足す
$xxx='A'; $ref_xxx=\$xxx;
print $$ref_xxx;


・無名ハッシュのリファレンス
$ref_xxx={'a'=>'あ','b'=>'い'};
print $$ref_xxx{'a'};
print $ref_xxx -> {'a'};


・無名配列のリファレンス
$ref_xxx=[1,2,3];
print $ref_xxx -> [0];


$_ 特殊変数(省略時に用いる)
@xxx=('a','b','c');
foreach(@xxx){
print ; # $_の内容を出力
}
for(1..100){
print $a[$_];
}


$#xxx=2; 配列の大きさを変更
$xxx[0] 〜 $xxx[2] これ以降は破棄される
・参照(大きさ)print $#xxx;
・配列名をスカラ値で評価した時はその配列の大きさが返る


・ループ
while($変数=shift(@配列)){ 処理 }
foreach $変数(@配列){ 処理 }


%ENV 環境変数 print $ENV{ PATH }

if文「{ }」省略できない。
後に書く場合はOK。print "a" if $a == 1;

ActivePerlは C:\usr\ にインストールすべし


sub new{ } コンストラクタ
sub DESTROY{ } デストラクタ
モジュールの最後には必ず 1; 正常に読み込まれた合図
package Xxx; モジュール開始
use Xxx; モジュール読み出し


use Data::Dumper;
Dumper (変数); ダン