Je cherche une chaîne dans Perl et la stocke dans une autre variable scalaire. Je veux imprimer cette variable scalaire. Le code ci-dessous ne semble pas fonctionner. Je ne suis pas sûr de ce qui ne va pas et de la bonne façon de procéder. Pourquoi imprime-t-il '1' quand il n'existe pas dans le programme?Comment accéder aux sous-chaînes capturées après une correspondance regex réussie en Perl?
données, il est en cours d'exécution sur
DONNÉES
13 E 0.496 -> Q 0.724
18 S 0.507 -> R 0.513
19 N 0.485 -> S 0.681
21 N 0.557 -> K 0.482
Voici mon code:
#!/usr/bin/perl
use strict;
use warnings;
my $find = '\s{10}[0-9]{2}\s[A-Z]'; #regex. it can also be '\s{10}[0-9]{2}\s[A-Z]'
#both dont seem to work
my @element;
open (FILE, "/user/run/test") || die "can't open file \n";
while (my $line = <FILE>) {
chomp ($line);
print "reached here1 \n"; # to test whether it reading the program properly
my $value = $line=~ /$find/ ;
print "reached here 3 \n"; # to test whether it reading the program properly
print "$value \n";
}
exit;
SORTIE
reached here1
1
reached here 3
reached here1
1
reached here 3
double possible de http://stackoverflow.com/questions/1029896/comment lire l'information-du-fichier-en-utilisant-regex-et-imprime-le/1029928 # 1029928 –