my ($price, $floor) = &get_price_floor() || 0;
####
return (10, 8);
##
##
my ($price, $floor); ## needs to be declared in a separate statement
($price, $floor) = &get_price_floor() or ($price, $floor) = (0, 0);
##
##
sub good { return (10, 8); }
sub bad { return (); }
my ($price, $floor);
($price, $floor) = good() or ($price, $floor) = (0, 0);
print "good: price=$price, floor=$floor\n";
($price, $floor) = bad() or ($price, $floor) = (0, 0);
print "bad: price=$price, floor=$floor\n";
##
##
good: price=10, floor=8
bad: price=0, floor=0