在perl中的起点和终点之间提取文本

时间:2013-02-01 22:14:26

标签: string perl extract

我根本不习惯perl并且语法有问题。我将如何在下面返回“棕色”?从我正在阅读的内容来看,这应该有效。

my $text = "the quick brown dog";
print "$text\n";
my $newvar = $text =~ m/quick (.*) dog/;
print "$newvar\n";

1 个答案:

答案 0 :(得分:3)

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

是标量上下文中的赋值,并指定1undef

您想在列表上下文中进行此分配

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

从正则表达式中分配捕获的组。

标量和列表上下文之间的区别是在Perl中习惯的最棘手的事情之一。

请注意,Perl中正则表达式中捕获的组也会被分配给特殊变量$1$2,....所以你也可以说了

print "$1\n";