From 67291c451f1ab602d5c5719f330770fa42974e25 Mon Sep 17 00:00:00 2001 From: biosta <38032207+biosta@users.noreply.github.com> Date: Sun, 29 Apr 2018 18:27:14 +0300 Subject: [PATCH] Examples for Chapter 3 written in Perl 5 (#71) * Create 01_countdown.pl Recursion example #1 written in Perl 5 * Create 02_greet.pl Recirsion example #2 written in Perl 5 * Create 03_factorial.pl Recursion example #3 written in Perl 5 --- 03_recursion/perl5/01_countdown.pl | 15 +++++++++++++++ 03_recursion/perl5/02_greet.pl | 23 +++++++++++++++++++++++ 03_recursion/perl5/03_factorial.pl | 13 +++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 03_recursion/perl5/01_countdown.pl create mode 100644 03_recursion/perl5/02_greet.pl create mode 100644 03_recursion/perl5/03_factorial.pl diff --git a/03_recursion/perl5/01_countdown.pl b/03_recursion/perl5/01_countdown.pl new file mode 100644 index 0000000..ea3201f --- /dev/null +++ b/03_recursion/perl5/01_countdown.pl @@ -0,0 +1,15 @@ +sub countdown { + + my $i = shift; + + print "$i\n"; + + # base case: + return if $i <= 1; + + # recursive case + countdown( $i - 1 ); + +} + +countdown(5); diff --git a/03_recursion/perl5/02_greet.pl b/03_recursion/perl5/02_greet.pl new file mode 100644 index 0000000..023b9e1 --- /dev/null +++ b/03_recursion/perl5/02_greet.pl @@ -0,0 +1,23 @@ +sub greet2 { + + my $name = shift; + + print "how are you, $name ?\n"; +} + +sub bye { print "ok bye !\n"; } + +sub greet { + + my $name = shift; + + print "hello, $name !\n"; + + greet2($name); + + print "getting ready to say bye...\n"; + + bye(); +} + +greet('adit'); diff --git a/03_recursion/perl5/03_factorial.pl b/03_recursion/perl5/03_factorial.pl new file mode 100644 index 0000000..fa76bcb --- /dev/null +++ b/03_recursion/perl5/03_factorial.pl @@ -0,0 +1,13 @@ +sub fact { + + my $x = shift; + + if ( $x == 1 ) { + return 1; + } + else { + return $x * fact( $x - 1 ); + } +} + +print fact(5), "\n";