return wantarry ? @a : $a[0]; #### my @a; if(wantarray) { @a = &$ref; } else { $a[0] = &$ref; } ... do something ... return @a; #### return (wantarray ? @a : $a[0]);