aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-042/andrezgz/perl/ch-1.pl24
-rw-r--r--challenge-042/andrezgz/perl/ch-2.pl31
2 files changed, 55 insertions, 0 deletions
diff --git a/challenge-042/andrezgz/perl/ch-1.pl b/challenge-042/andrezgz/perl/ch-1.pl
new file mode 100644
index 0000000000..ae71c5c31e
--- /dev/null
+++ b/challenge-042/andrezgz/perl/ch-1.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-042/
+# Task #1
+# Octal Number System
+# Write a script to print decimal number 0 to 50 in Octal Number System.
+#
+# For example:
+#
+# Decimal 0 = Octal 0
+# Decimal 1 = Octal 1
+# Decimal 2 = Octal 2
+# Decimal 3 = Octal 3
+# Decimal 4 = Octal 4
+# Decimal 5 = Octal 5
+# Decimal 6 = Octal 6
+# Decimal 7 = Octal 7
+# Decimal 8 = Octal 10
+# and so on.
+
+use strict;
+use warnings;
+
+printf "Decimal $_ = Octal %o\n",$_ for (0 .. 50);
diff --git a/challenge-042/andrezgz/perl/ch-2.pl b/challenge-042/andrezgz/perl/ch-2.pl
new file mode 100644
index 0000000000..14370dfe2d
--- /dev/null
+++ b/challenge-042/andrezgz/perl/ch-2.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-042/
+# Task #2
+# Balanced Brackets
+# Write a script to generate a string with random number of ( and ) brackets.
+# Then make the script validate the string if it has balanced brackets.
+#
+# For example:
+#
+# () - OK
+# (()) - OK
+# )( - NOT OK
+# ())() - NOT OK
+
+
+use strict;
+use warnings;
+
+my $brackets = int rand(10) + 1;
+
+my $str = '';
+$str .= rand() < 0.5 ? '(' : ')' for ( 1 .. $brackets );
+
+my $open_count = 0;
+foreach my $b ( split //, $brackets ) {
+ last if $open_count < 0;
+ $b eq '(' ? $open_count++ : $open_count--;
+}
+
+print $str , ' - ', $open_count ? 'NOT OK' : 'OK';