erodrig has asked for the wisdom of the Perl Monks concerning the following question:
Consider the following program which just does a regex on two array entries:
@files=("zzz.21.yy.ccc", "zzz.220.ccc" ); foreach $name (@files) { chomp $name; $match="no "; $match="yes" if ( $name =~ /(^[a-z]{3})\.(\d{2,3})\..*\.ccc/) ; print "$match, $name, match1: $1, match2: $2\n"; }
When I run this on Linux perl 5.8.8 $2 does not seem correct for the second name:
The second name should have the same values since the regex match fails the second time, but $2 mysteriously takes "21." from the first entry. Can this be a problem with perl 5.8.8?
See below:
perl issueWithRegex.pl yes, zzz.21.yy.ccc, match1: zzz, match2: 21 no , zzz.220.ccc, match1: zzz, match2: 21.
With perl 5.10.1 this seems to run as I would expect it to:
perl issueWithRegex.pl yes, zzz.21.yy.ccc, match1: zzz, match2: 21 no , zzz.220.ccc, match1: zzz, match2: 21
Thanks for any comments.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: curious regex result for perl 5.8.8
by GrandFather (Saint) on Jun 20, 2016 at 22:53 UTC | |
by dave_the_m (Monsignor) on Jun 21, 2016 at 10:01 UTC | |
by GrandFather (Saint) on Jun 22, 2016 at 02:02 UTC | |
by Anonymous Monk on Jun 22, 2016 at 02:15 UTC | |
by GrandFather (Saint) on Jun 22, 2016 at 04:13 UTC | |
|
Re: curious regex result for perl 5.8.8
by Cristoforo (Curate) on Jun 20, 2016 at 22:52 UTC | |
by BillKSmith (Monsignor) on Jun 21, 2016 at 02:03 UTC | |
|
Re: curious regex result for perl 5.8.8
by Anonymous Monk on Jun 20, 2016 at 22:38 UTC |