Bonjour,
AVEC strict, je veux
"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 #! /usr/bin/perl -w use strict; use warnings; #open(fileIn,"./erreursGoogleEarthSolutMoi.txt"); my $infile ; #fileOut;fileIn; my @tableau_fileIn; my $ligne; local $1=0; $infile = 'erreursGoogleEarthSolutMoi.txt' ; open(fileIn,$infile); #p48 open(fileOut,">poubOut"); # ##my($text) = "mississippi"; ##$text =~ m/(i.*?s)/; # ##print $1 . "\n"; #@tableau_fileIn=<fileIn>; print "\nok"; #@tableau_fileIn=<./erreursGoogleEarthSolutMoi.txt>; @tableau_fileIn=<fileIn>; foreach $ligne (@tableau_fileIn) {print "\nin boucle "; #$ligne =~ s/\/opt.*\.so/kkk$1/g; $ligne =~ s/(\/optso)/kkk\1/g; #\1 cat de fichier ##$text =~ s/printf.*lbl[0-9]+\);//g; #print "\nok "; # print $ligne, $1; comportement bizarre print $1; # # print push(@lbls,3); # print "\n"; # # # comme remplacer ts les //lbl mais sanspouvoir specifier variable # # but: par 10n , identifie doublons , 1ere chiffre=fichier , ordonné } close(fileIn); close(fileOut); # # #affich tableau # print @lbls; #
"
Il parait qu'on utilise \1 ds regexp et $1 en externe , mail perl me met "\1 better written as $1 at /home/peter/Desktop/erreursGoogleEarthSolutMoi.pl line 30."
Sauf que si je remplace \1 par $1, il met "uninitialized value $1".
Alors, j'ai mis : local $1=0; Mais en vain .
Alors comment faire quand on veut reutiliser une sous chaine de regexp à l'extérieur de regexp AVEC strict(testez votre solution, avant)?
Partager