[PERL] expression reg again ...
sbouli
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
re-Bonjour,
J'ai finalement activer strict et warning sur un de mes vieux code et je suis confronté à une bêtise .. pas de cambrais :
la ligne
me renvoie l'erreur :
quand la ligne du fichier ne contient ni valeur1, ni valeur2, ni valeur3 ... dois-je ajouter un test d'existence ? je pensais que le m correspondait à match .... je comprend plus
Stéphane
J'ai finalement activer strict et warning sur un de mes vieux code et je suis confronté à une bêtise .. pas de cambrais :
la ligne
if ($to && $to ne "" && $status =~ m/(valeur1|valeur2|valeur3)/i ){
me renvoie l'erreur :
Use of uninitialized value in pattern match (m//)
quand la ligne du fichier ne contient ni valeur1, ni valeur2, ni valeur3 ... dois-je ajouter un test d'existence ? je pensais que le m correspondait à match .... je comprend plus
Stéphane
A voir également:
- [PERL] expression reg again ...
- Reg cleaner - Télécharger - Nettoyage
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Sorry this video can not be played. please try again or pick another video iptv traduction - Forum Téléviseurs
- Network error please reload the page & play the video again - Forum YouTube
4 réponses
Re,
Sinon j'aurais écrit comme ça
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Sinon j'aurais écrit comme ça
if( $status =~ m/(valeur1|valeur2|valeur3)/i){ if ($to ne ""){ ..... } }else{ ... }--
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
ben il est complet :
if ($to && $to ne "" && $status =~ m/(valeur1|valeur2|valeur3)/i ){ delete($tableau_to{$id}); }
j'ai fais l'inverse :
et j'ai la même erreur sur la ligne :
Use of uninitialized value in pattern match (m//)
j'ajoute que c'est une erreur qui se reproduit à plusieurs endroit de mon code comme par exemple :
PS :j'aurais pu utiliser split pour celle là :)
if ($to && $to ne "") { if ($status =~ m/(valeur1|valeur2|valeur3)/i ){ delete($tableau_to{$id}); } }
et j'ai la même erreur sur la ligne :
if ($status =~ m/(expired|bounced|sent)/i ){
Use of uninitialized value in pattern match (m//)
j'ajoute que c'est une erreur qui se reproduit à plusieurs endroit de mon code comme par exemple :
($info1,$info2,$info3)=$tmp_from=~/([^_|\n]*)?_?([^_|\n]*)?_?([^_|\n]*)?$/o;
PS :j'aurais pu utiliser split pour celle là :)