在以下代码中,我收到uninitialized value
警告,但仅在第二个given/when
示例中。为什么是这样?
#!/usr/bin/env perl
use warnings;
use 5.12.0;
my $aw;
given ( $aw ) {
when ( 'string' ) {
say "string";
}
when ( not defined ) {
say "aw not defined";
}
default {
say "something wrong";
}
}
given ( $aw ) {
when ( /^\w+$/ ) {
say "word: $aw";
}
when ( not defined ) {
say "aw not defined";
}
default {
say "something wrong";
}
}
我得到的输出是:
aw not defined
Use of uninitialized value $_ in pattern match (m//) at ./perl.pl line 20.
aw not defined