>perl -wMstrict -le
"my $s = 'age 23 name john';
my @an = $s =~ m{ age \s+ (\d+) \s+ name \s+ ([a-z]+) }xms;
print qq{@an};
"
23 john
####
>perl -wMstrict -le
"my $s = 'age 23 name john';
my @an = $s =~ m{ name \s+ ([a-z]+) | address \s+ (\d+) }xms;
my $captured = join ':', @an;
print qq{:$captured:};
"
Use of uninitialized value in join or string at -e line 1.
:john::
####
>perl -wMstrict -le
"my $s = 'age 23 name john';
my @an = $s =~ m{ name \s+ ([a-z]+) | address \s+ (\d+) }xms;
defined or $_ = 'UNdefined' for @an;
my $captured = join ':', @an;
print qq{:$captured:};
"
:john:UNdefined: