【发布时间】:2011-12-05 16:04:21
【问题描述】:
我在下面有一个函数:
sub getMinFromParam {
my ($param) = @_;
print "PPPP = $param\n";
my $min;
if ($param =~ /\s*\[(\S+),\s*(\S+)\]\s*/) {
print "IN HERE\n";
$min = $1;
}
elsif ($min =~ /((\w+),)+/) {
my @tmp = split (/\s*,\s*/, $param);
if ($tmp[0] =~ /\[(\w+),\s?(\w+)\]/) {
$min = $1;
}
else {
$min = $tmp[0];
}
}
return ($min);
}
当 $param 是一个字符串时:120u, 421u, 53, 19, 41u, 53, 我得到错误:在这一行的模式匹配(m//)中使用未初始化的值:
if ($param =~ /\s*\[(\S+),\s*(\S+)\]\s*/) {
为什么在定义 $param 时会抱怨未初始化的值?
【问题讨论】:
标签: perl