http://www.perlmonks.org?node_id=417894


in reply to Payment changer

1 small comment i'd like to make is on the following part:
sub add { my $self = shift; my @units = @{ $self->{units} }; my %pieces = %{ $self->{bills} }; my $temp = shift;
I personally use the guideline that it's best to clean out @_ and assign all the values that i need before doing anything else. 9 out of 10 times this is completely unnecessary, but consistently doing it does prevent me from leaving things in @_ only to have them changed later, yielding unpredictable results. so my advice would be to start off with my ($self, $temp) = @_; and then to proceed with the remainder of the sub.