-, , :
my $var = $val if( $some );
:
: my, , (, my $x, ...) undefined. my undef, , , - . . perl - Perl . .
m//, /g , , . , 27 , :
my ($some) = $str =~ m/...(...).../g;
:
use strict;
use warnings;
my $u="undefined";
my $str = q{some="string" another="one"};
my ($m1) = $str =~ m/some="(.*?)"/g;
print 'm1=', $m1 // $u, '= $1=', $1 // $u, "=\n";
my ($m2) = $str =~ m/nothere="(.*?)"/g;
print 'm2=', $m2 // $u, '= $1=', $1 // $u, "=\n";
my ($m3) = $str =~ m/another="(.*?)"/g;
print 'm3=', $m3 // $u, '= $1=', $1 // $u, "=\n";
:
m1=string= $1=string=
m2=undefined= $1=string= #the $1 hold previously matched value
m3=one= $1=one=
, $1 , . :
, % + hash ($1, $2, $3 ..) , , . (. perlsyn.)
: Perl reset , , .
, $1, , :
use strict
use warnings;
my $u="undefined";
my $str = q{some="string" another="one"};
my($m1,$m2,$m3);
{($m1) = $str =~ m/some="(.*?)"/g;}
print 'm1=', $m1 // $u, '= $1=', $1 // $u, "=\n";
{($m2) = $str =~ m/nothere="(.*?)"/g;}
print 'm2=', $m2 // $u, '= $1=', $1 // $u, "=\n";
{($m3) = $str =~ m/another="(.*?)"/g;}
print 'm3=', $m3 // $u, '= $1=', $1 // $u, "=\n";
m1=string= $1=undefined=
m2=undefined= $1=undefined=
m3=one= $1=undefined=
PS: Perl, , / .