From aea4815551c12353beba5f34e31b6061fc86243d Mon Sep 17 00:00:00 2001 From: biosta <38032207+biosta@users.noreply.github.com> Date: Mon, 23 Apr 2018 12:35:44 +0300 Subject: [PATCH 1/3] Create 01_countdown.pl Recursion example #1 written in Perl 5 --- 03_recursion/perl5/01_countdown.pl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 03_recursion/perl5/01_countdown.pl diff --git a/03_recursion/perl5/01_countdown.pl b/03_recursion/perl5/01_countdown.pl new file mode 100644 index 00000000..ea3201fe --- /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); From d549baa4831b022a26eed391822f8b6ab0d5dedc Mon Sep 17 00:00:00 2001 From: biosta <38032207+biosta@users.noreply.github.com> Date: Mon, 23 Apr 2018 12:36:59 +0300 Subject: [PATCH 2/3] Create 02_greet.pl Recirsion example #2 written in Perl 5 --- 03_recursion/perl5/02_greet.pl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 03_recursion/perl5/02_greet.pl diff --git a/03_recursion/perl5/02_greet.pl b/03_recursion/perl5/02_greet.pl new file mode 100644 index 00000000..023b9e1c --- /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'); From 0047c00565abd18e2e476287245e19a6827bc191 Mon Sep 17 00:00:00 2001 From: biosta <38032207+biosta@users.noreply.github.com> Date: Mon, 23 Apr 2018 12:38:03 +0300 Subject: [PATCH 3/3] Create 03_factorial.pl Recursion example #3 written in Perl 5 --- 03_recursion/perl5/03_factorial.pl | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 03_recursion/perl5/03_factorial.pl diff --git a/03_recursion/perl5/03_factorial.pl b/03_recursion/perl5/03_factorial.pl new file mode 100644 index 00000000..fa76bcb7 --- /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";