+ -
当前位置:首页 → 问答吧 → 关于在perl使用map,grep,split的问题,求高手

关于在perl使用map,grep,split的问题,求高手

时间:2010-12-15

来源:互联网

我有一个这样的程序
my $text='VALUE[3]="abc"
VALUE[2]="xyz"
';

my %multi_arms = map{ $1 => $2 if(/\[(\d+)\]\s*=\s*(.*)/sm) } grep {$_} split /VALUE/, $text;

foreach( sort keys %multi_arms)
{
  print $multi_arms{$_};
}
输出结果是
"abc"
"xyz"
我觉得其中的grep {$_}是多余的,然后我去掉它后,运行结果无输出。问了好多熟手无果,先求高手解惑!

作者: cnmtchbgs   发布时间: 2010-12-15

grep $_把空字符串去掉了。

作者: iambic   发布时间: 2010-12-15