aboutsummaryrefslogtreecommitdiff
path: root/challenge-078/abigail/Part2/solution.pl
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-078/abigail/Part2/solution.pl')
-rwxr-xr-xchallenge-078/abigail/Part2/solution.pl42
1 files changed, 42 insertions, 0 deletions
diff --git a/challenge-078/abigail/Part2/solution.pl b/challenge-078/abigail/Part2/solution.pl
new file mode 100755
index 0000000000..80e8f4907d
--- /dev/null
+++ b/challenge-078/abigail/Part2/solution.pl
@@ -0,0 +1,42 @@
+#!/opt/perl/bin/perl
+
+#
+# Exercise:
+#
+# You are given array @A containing positive numbers and @B containing
+# one or more indices from the array @A.
+# Write a script to left rotate @A so that the number at the first index
+# of @B becomes the first element in the array. Similary, left rotate @A
+# again so that the number at the second index of @B becomes the first
+# element in the array.
+#
+
+#
+# We will be reading the arrays from STDIN -- @A is one the first
+# line, @B is on the second line.
+#
+
+use 5.032;
+
+use strict;
+use warnings;
+no warnings 'syntax';
+
+use experimental 'signatures';
+
+#
+# Read @A and @B
+#
+chomp (my @A = split / / => scalar <>);
+chomp (my @B = split / / => scalar <>);
+
+#
+# Print the rotations.
+#
+foreach my $index (@B) {
+ local $, = " ";
+ say @A [$index .. @A - 1, 0 .. $index - 1];
+}
+
+
+__END__