元のコードで後方参照 ($1,$2,$3) が機能していないのは奇妙だと思ったので、Web から次の例を実行しました。
#!/usr/bin/perl
# matchtest2.plx
use warnings;
use strict;
$_ = '1: A silly sentence (495,a) *BUT* one which will be useful. silly (3)';
my $pattern = "silly";
if (/$pattern/) {
print "The text matches the pattern '$pattern'.\n";
print "\$1 is '$1'\n" if defined $1;
print "\$2 is '$2'\n" if defined $2;
print "\$3 is '$3'\n" if defined $3;
print "\$4 is '$4'\n" if defined $4;
print "\$5 is '$5'\n" if defined $5;
}
else {
print "'$pattern' was not found.\n";
}
それは私に与えただけです:
The text matches the pattern 'silly'.
パターンが見つかった後も後方参照がまだ定義されていないのはなぜですか? 私は Wubi (Ubuntu 12.04 64 ビット) を使用しており、perl のバージョンは 5.14.2 です。よろしくお願いいたします。