sub buy () { { $::not_a_good_night ||= rand; if ( $credit_card_balance > $credit_card_limit ) { die ( "Dog house tonight" ); } push @shopping_cart, shift(), shift(); buy(qw( more things )) if ( $::not_a_good_night > 0.3 ); }