Ce que j'essaie de faire est de récupérer la clé d'une paire de valeur clé dans un hachage car tout ce que j'ai d'un fichier que je lis est une valeur.
Le code produit quelque chose comme ceci: p>
Le code de cette partie est: p> Ensuite, ailleurs dans un fichier appelé Le code de lecture de ce fichier est le suivant: p> mais j'ai déjà le nom de fichier extrait de ceci en utilisant une expression régulière. p> p> 12345 code>
welcome.html code> p>
bad.txt code> i get de sortie comme: p>
documents qui ont échoué:
daerror 6 0 6 Bienvenue.html Code> P>
3 Réponses :
Vous pouvez effectuer une copie inversée de votre hachage d'origine avec l'opérateur Plus sur ce sujet, y compris la manutention des valeurs en double sur Perlfaq4: Comment rechercher un élément de hachage par valeur p> inverse code> puis faire une recherche "normale" (fonctionnerait correctement uniquement si les valeurs de hachage d'origine sont uniques). P>
Merci pour le lien, je devrai examiner la question avant d'accepter toutes les réponses!
Si vous n'utilisez pas le à: p> Ensuite, vous aurez un hachage avec les touches correctes de vos besoins de requête. p> p> % Bugs CODE> HASH pour autre chose, il suffit de modifier:
Ou créez un nouveau hachage et de gérer les valeurs dupliquées, utilisez un tableau.
my ($key) = grep{ $bugs{$_} eq '*value*' } keys %bugs; print $key;
[^] + peut également être écrit comme \ s + Vous pouvez également utiliser
M code> et définir $ Type et $ Testdoc tous sur une ligne.
mon ($ type, $ testdoc) = $ _ = ~ m / ^ (\ s +) \ s + \ s + \ s + (\ s +) \ s + /; Die "Ligne non valide $ _ IN $ Badfiles \ n" Sauf si défini $ Type && Défini $ $ Testdoc; code>.