我有一个子程序,需要输入一个字符串中的位置,并应返回在该位置找到的单词。例如:如何获取Perl正则表达式匹配变量的值与索引存储在另一个变量?
use warnings;
use strict;
my $num=2;
my $val=getMatch($num);
sub getMatch {
my ($num)[email protected]_;
my $str='a b c';
$str=~ /(\S+)\s(\S+)/;
my $res;
eval "$res=\$$num";
return $res
}
但是这给了错误:
Use of uninitialized value $res in concatenation (.) or string at ./p.pl line 16.
(我试图返回$i
其中i
是存储在另一个变量的值。)
好像我忘了把一个斜杠'$ res'的面前:'EVAL“\ $水库= \ $$ num“'..但也许有更简单的方法来做到这一点? – 2014-12-04 08:50:00