From e4d44963fac7ebe8844866b0336e983444515791 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Wed, 5 Jan 2011 21:58:48 -0500 Subject: [PATCH] more work with functions --- cli/functions.pl | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/cli/functions.pl b/cli/functions.pl index a00016d..c7fe297 100644 --- a/cli/functions.pl +++ b/cli/functions.pl @@ -3,8 +3,8 @@ use strict; use warnings; sub print_error_message { - my $message = shift; - print STDOUT "ERROR: " . $message . "\n"; + my ($message) = @_; + print STDOUT "ERROR: " . $message . "!!!\n"; } @@ -13,5 +13,42 @@ print_error_message("something really horrible happened"); print_error_message("something sort of annoying happened"); +sub add_two_numbers { + my ($x, $y) = @_; + my $sum = $x + $y; + return $sum; +} + +print add_two_numbers(3, 4) . "\n"; +print add_two_numbers(5, 6) . "\n"; +print add_two_numbers(7, 8) . "\n"; + + +sub add_two_numbers_and_mult_by_three { + my ($x, $y) = @_; + my $sum = add_two_numbers($x, $y); + my $sum_times_three = $sum * 3; + return $sum_times_three; +} + +print add_two_numbers_and_mult_by_three(3, 4) . "\n"; +print add_two_numbers_and_mult_by_three(5, 6) . "\n"; +print add_two_numbers_and_mult_by_three(7, 8) . "\n"; + + +sub factorial { + my ($num) = @_; + if ($num == 1) { + return 1; + } else { + return $num * factorial($num - 1); + } +} + +foreach my $n (1 .. 10) { + print factorial($n) . "\n"; +} + + 1; __END__