sub context { print defined wantarray ? wantarray ? "list" : "scalar" : "void" , "\n"; $_[0]; } ($a, $b) = (context('a'), context('b')); print "a=[$a],b=[$b]\n\n"; ($a, $b) = (context('a'), context('b')) || die "foo"; print "a=[$a],b=[$b]\n"; list list a=[a],b=[b] void scalar a=[b],b=[]