我有一個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