次のコードでは、2 番目の例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