use strict; use warnings; use v5.12; my @array = map{ wantarray() } 0 .. 1; my @rv = test_context(); sub test_context { wantarray(); } print "\@array = map: sub block is evaluated in "; if( defined( $array[0] ) ) { say $array[0]? "list context" : "scalar context"; } else { say "void context"; } print "\@rv = test_context(): sub evaluated in "; if( defined( $rv[0] ) ) { say $rv[0] ? "list context" : "scalar context"; } else { say "void context"; }