|
Posted by Peter J. Holzer on March 8, 2008, 3:54 pm
Please log in for more thread options > John W. Krahn wrote:
>> $ perl -le'
>> for my $string ( "A: aaa B: bbb", "A: aaa", "B: bbb", "B: bbb A: aaa"
>> ) { my ( $myA, $myB ) = $string =~
>> /(?=.*A:\s*(\S+))?(?=.*B:\s*(\S+))?/; print qq[$string =
>> "$string" $myA = "$myA" $myB = "$myB"]; }
>> '
>> $string = "A: aaa B: bbb" $myA = "aaa" $myB = "bbb"
>> $string = "A: aaa" $myA = "aaa" $myB = ""
>> $string = "B: bbb" $myA = "" $myB = "bbb"
>> $string = "B: bbb A: aaa" $myA = "aaa" $myB = "bbb"
> What Perl version you use John? In my Perl 5.6.1 this not work and print
> already $myA='' $myB=''
You must have a very peculiar version of perl 5.6.1, which is different
from everybody else's perl 5.6.1. I am beginning to suspect that it
exists only in your head.
hp
|