2013-02-01 42 views

回答

3
my $newvar = $text =~ m/ quick (.*) dog /; 

是在標量上下文的分配,併爲其指定1undef

你想在列表環境

my ($newvar) = $text =~ m/ quick (.*) dog /; 

從正則表達式分配捕獲組此分配。

標量和列表上下文之間的區別是在Perl中習慣的最棘手的事情之一。

請注意,從Perl正則表達式捕獲的組也被分配到特殊變量$1,$2,...。所以你也可以只說

print "$1\n"; 
相關問題