【IT支援部】perlの特殊変数

perlの特殊変数って言われているやつって覚えづらいですよねえ。
すぐ忘れるのでメモ。



$](閉じ大カッコ)


Perlのバージョンを表示。

$<(小なり)


PIDを表示。

$0


現在のファイル名を表示。

$1,$2,$3


パターンマッチに引っかかった値を表示。
[perl]
my $x = "4.2.3";
$x =~ /([0-9]).([0-9]).([0-9])/;
print $1,$2,$3;
[/perl]

$@(アットマーク)


eval関数を使った場合の戻り値を表示。
[perl]
eval {
funcAAA(1);

funcBBB(2);
};
print $@;
[/perl]

$_ (アンダーバー)


対象を省略した時に使われるダミー変数。
[perl]
open (FH, "<test.txt");
while (<FH>) {
print $_;
}
close FH;

my @aaa = ("AAA", "ABC", "III", "XXX");

foreach (@aaa) {
if(/^A/) {
print $_ . "\n";
}
}
[/perl]