in reply to when to use subroutine
Some suggestions:
Don't do:
Do this:sub get_me_a_drink($drink_name) { if ($drink_name eq 'soda' or $drink_name eq 'beer') { # go to fridge # open fridge door # get drink return $drink } elsif ($drink_name eq 'coffee' or $drink_name eq 'tea') { # get water # boil water # mix ingredients return $drink } die "Can't make this drink"; }
sub get_me_a_drink($name) { if (is_cold($name)) { return get_from_fridge($name); } if (is_hot($name)) { return brew_hot_drink($name); } die "Can't make luke-warm drinks"; }
but dosub brew_hot_drink { my $ingredients = shift; my $water = get_water(); my $hot = boil($water); my $drink = mix($hot,$ingredients); return $drink; }
sub brew_hot_drink { my $ingredients = shift; return mix( $ingredients, boil(get_water())); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: when to use subroutine
by tinita (Parson) on Oct 28, 2007 at 18:23 UTC |