use strict; use warnings; use 5.010; sub context { given (wantarray) { when (undef) { say "void" }; when (0) { say "scalar" }; when (1) { say "list" }; } 1; } my $a = context(); # scalar my ($b) = context(); # list my $c = context() + 1; # scalar - wegen des + 1, nicht wegen der Zuweisung my ($d) = context() + 1; # scalar - wegen des + 1, nicht wegen der Zuweisung