in reply to elegant array assignment

I don't think so - at least not that I'm aware of. However, you might able to solve them problem elsewhere. For instance, if $x is the return value of a function, the function could check wantarray to see what the caller wants, i.e.

sub func { ... return (wantarray ? ($x) : [$x]); } my @arr = func(); # returns an array my $arr = func(); # returns an array ref