我有一个Perl程序代码,用于从哈希中提取描述字符串。测试一个字符串是否包含另一个字中的任何字
我有我的变量$ui
等于变量$uniqueID
,但我要的是如果$ui
包含可变$unqiueID
任何话返回true。但是=~
不起作用。
有没有这样做的巧妙方法?
sub getDescription {
my $uniqueID = shift;
my $retval;
my $ui;
foreach my $key (keys %HASHLIST) {
foreach $ui (@{ $HASHLIST{$key}->{uniqueID} }) {
if ($ui eq $uniqueID) {
$retval = $HASHLIST{$key}->{description};
last;
}
}
last if $retval;
}
return $retval;
}
你的代码看没什么问题。测试你的代码,用'print'替换'$ retval = $ HASHLIST {$ key} - > {description};''''''ui \ t $ uniqueID“;' – Arijit
同时检查你的'%HASHLIST'是否是它们。代码没有'%HASHLIST'并显示你的'=〜'行 – Arijit
你是什么意思“=〜不工作”?你有没有试过'if($ ui =〜/ $ uniqueID /){...}'? – Mikesname