请问,我怎样才能做这样的比赛:
my @variable = split;
if ($variable[any_index] =~ m/'string'/) {print $variable[next_index];}
有没有一种简单的方法来指定 $variable[any_index]?
是否可以在语句“print $variable[next_index]”中使用某种“向前看”?
提前致谢!
请问,我怎样才能做这样的比赛:
my @variable = split;
if ($variable[any_index] =~ m/'string'/) {print $variable[next_index];}
有没有一种简单的方法来指定 $variable[any_index]?
是否可以在语句“print $variable[next_index]”中使用某种“向前看”?
提前致谢!
print $variable[$_] for grep { $variable[$_-1] =~ /'string'/ } 1..$#variable
if ( my ($idx) = grep $variable[$_] =~ /string/, 0..$#variable ) {
print "$variable[$idx+1]\n";
}
如果要打印所有匹配项,
for my $idx ( grep $variable[$_] =~ /string/, 0..$#variable ) {
print "$variable[$idx+1]\n";
}
不要误会我的意思,但是 grep 和 map 总是让我害怕。这是我的做法:
#!/usr/bin/perl -w
use strict;
my @array = qw/hello world hello there hello you/;
foreach (0..$#array)
{
print $array[$_ + 1]."\n" if $array[$_] =~ /llo/;
}
这将打印:
world
there
you