[Perl] Où $1 est-il capturé?
Wernerus Sebastien
s.wernerus at gmail.com
Mer 30 Mar 23:39:34 CEST 2016
C'est pour cette raison qu'il faut vérifier que la regex a bien été
reconnue avant d'utiliser $1.
Exécute le code qui suit pour illustration. Le premier bloc est incorrect
car $1 conserve sa valeur tant qu'une nouvelle correspondance n'est pas
réussie (auquel cas $1 est mis à jour).
# BAD
foreach my $r_id ( qw(qsdqsdqsd_B qsdqsdqsd_A qsdqsdqsd_LR) ) {
$r_id =~ /_(B|LR|RL)$/;
print "FOUND: $1\n";
}
# GOOD
foreach my $r_id ( qw(qsdqsdqsd_B qsdqsdqsd_A qsdqsdqsd_LR) ) {
if ( $r_id =~ /_(B|LR|RL)$/ ) {
print "FOUND: $1\n";
} else {
print "FAILED!\n"
}
}
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20160330/17e34120/attachment.html>
Plus d'informations sur la liste de diffusion Perl