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)?