Jim Gibson wrote:
> In article <46d83c60$0$27378$>, john swilting
> <> wrote:
>
>> I recopied the chaphitre 5
>
> In what book?
>
>> #!/usr/bin/perl -w
>
> use warnings; # preferred these days
>
>>
>> use strict;
>> use diagnostics;
>>
>> my @conf = ('XferMethod',
>> 'rsync',
>> 'XferLogLevel',
>> '1',
>> 'RSyncShare',
>> '___1___',##they is these 2 pattern
>> 'ClientNameAlias',
>> '___2___');##they is pattern
>>
>>
>> print @conf,"\n";
>> my @substitution = @conf;
>> my $motif =qr/___[1-9][0-9]?___/is;
>> my @regexes = ();
>> my @motif = ();
>
> The array @motif is empty.
>
>> foreach $motif ( @motif ) {
>> push @regexes, qr/$motif/;
>> }
>
> You are iterating over the empty array @motif, assigning each value
> therein to the variable $motif. At the end of this loop, since @motif
> has no values, the array @regexes will also be empty.
>
> Perhaps you want, instead of the loop, the following:
>
> push( @regexes, $motif );
>
>>
>> foreach my $elem ( @substitution ) {
>> foreach my $re ( @regexes ) {##the loop however turns
>> well#scalar(@regexes
>> if ( $elem =~ /$re/) {##one do not arrive to this line
>> print "$elem egal $re\nentrer la valeur\n";
>> chop ($elem =<STDIN>);
>> print "nouvelle valeur de",$elem,"\n";
>> }
>> }
>> }
>>
>
> The inner statements of the loop on @regexes will never be executed,
> because @regexes has no values.
>
the book is programmation en perl 3eme edition
with the push (@regexes,$motif)
the substitution is well
how to make to improve my code... I look at closely the precis examples
handbook O reilly
|