An example of the point made by davido and SuicideJunkie. Note that in the first print statement, which is not preceded by any successful match, the output is as you expect.
>perl -wMstrict -lE "my $email = 'someuser@example.com'; $email =~ /(.*) (<.*>)/; say qq{A: 1='$1' 2='$2'}; ;; $email =~ /([^@]+\z)/; say qq{B: 1='$1' 2='$2'}; ;; $email =~ /(.*) (<.*>)/; say qq{C: 1='$1' 2='$2'}; " Use of uninitialized value $1 in concatenation (.) or string at -e lin +e 1. Use of uninitialized value $2 in concatenation (.) or string at -e lin +e 1. A: 1='' 2='' Use of uninitialized value $2 in concatenation (.) or string at -e lin +e 1. B: 1='example.com' 2='' Use of uninitialized value $2 in concatenation (.) or string at -e lin +e 1. C: 1='example.com' 2=''
In reply to Re: perl 5.10 bug or not?
by AnomalousMonk
in thread perl 5.10 bug or not?
by sotona
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |