$ perl -Mstrict -Mwarnings -e '
use 5.018;
my ($x, $y) = (1, undef);
given ($x) {
when (1) { say "\$x == 1" }
default { say "\$x != 1" }
}
given ($y) {
when (1) { say "\$y == 1" }
default { say "\$y != 1" }
}
my sub z { say "In z()" }
z();
'
given is experimental at -e line 4.
when is experimental at -e line 5.
given is experimental at -e line 8.
when is experimental at -e line 9.
Experimental "my" subs not enabled at -e line 12.
####
$ perl -Mstrict -Mwarnings -e '
use 5.018;
my sub z { say "In z()" }
my ($x, $y) = (1, undef);
given ($x) {
when (1) { say "\$x == 1" }
default { say "\$x != 1" }
}
given ($y) {
when (1) { say "\$y == 1" }
default { say "\$y != 1" }
}
z();
'
Experimental "my" subs not enabled at -e line 3.
##
##
$ perl -Mstrict -Mwarnings -e '
use 5.018;
use feature "lexical_subs";
my ($x, $y) = (1, undef);
given ($x) {
when (1) { say "\$x == 1" }
default { say "\$x != 1" }
}
given ($y) {
when (1) { say "\$y == 1" }
default { say "\$y != 1" }
}
my sub z { say "In z()" }
z();
'
given is experimental at -e line 5.
when is experimental at -e line 6.
given is experimental at -e line 9.
when is experimental at -e line 10.
The lexical_subs feature is experimental at -e line 13.
$x == 1
$y != 1
In z()
##
##
$ perl -Mstrict -Mwarnings -e '
use 5.018;
use feature "lexical_subs";
no if $] >= 5.018, warnings => "experimental::smartmatch";
no if $] >= 5.018, warnings => "experimental::lexical_subs";
my ($x, $y) = (1, undef);
given ($x) {
when (1) { say "\$x == 1" }
default { say "\$x != 1" }
}
given ($y) {
when (1) { say "\$y == 1" }
default { say "\$y != 1" }
}
my sub z { say "In z()" }
z();
'
$x == 1
$y != 1
In z()