habe ich ein Perl-Programm-Code, der eine Beschreibungszeichenfolge aus einer Hash zieht.Prüfen, ob ein String enthält eines der Wörter in einem anderen
Ich habe meine Variable $ui
gleich der Variablen $uniqueID
, aber was ich will, ist wahr zurück, wenn $ui
alle Wörter enthält in Variable $unqiueID
. Aber =~
funktioniert nicht.
Gibt es eine intelligente Art und Weise, dies zu tun?
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;
}
Code sucht, um mich in Ordnung. Testen Sie Ihren Code durch Ersetzen '$ retval = $ HASHLIST {$ key} -> {description};' 'mit print "$ ui \ t $ uniqueID";' – Arijit
Überprüfen Sie auch Ihre '% HASHLIST' ist ihr oder nicht .because Ihre Code hat nicht '% HASHLIST' und zeigen Sie Ihre' = ~ 'Linie – Arijit
Was meinst du mit„= ~ funktioniert nicht“? Hast du versucht, 'if ($ ui = ~/$ uniqueID /) {...}'? – Mikesname