##
my (%baz, @bar) = sub { %{$_[0]}, @{$_[1]} }->(foo());
##
##
use Data::Dumper;
sub foo {
return ({J=>'A', P=>'H', }, [4.019,5.8]);
}
# ... original listy assignment here ...
print Dumper(\%baz);
##
##
my ($baz, $bar) = foo();
print "$baz->{J} $bar->[1]\n";