diff options
| -rw-r--r-- | challenge-063/perlboy1967/perl/ch-2.pl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-063/perlboy1967/perl/ch-2.pl b/challenge-063/perlboy1967/perl/ch-2.pl new file mode 100644 index 0000000000..10c617d68d --- /dev/null +++ b/challenge-063/perlboy1967/perl/ch-2.pl @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +# Perl Weekly Challenge - 063 +# +# Task 2 - Rotate String +# +# Author: Niels 'PerlBoy' van Dijke + +use strict; +use warnings; + +# Prototype +sub rotateWord ($$); + +while (<>) { + my ($word, $n) = $_ =~ /(\S+)\s+(\d+)/; + + printf "rotateWord('%s', %d) => '%s'\n", + $word, $n, rotateWord($word, $n); +} + +sub rotateWord ($$) { + my ($word, $rotateNtimes) = @_; + + my @chars = split(//, $word); + + push(@chars, splice(@chars, 0, $rotateNtimes % scalar(@chars))); + + return join('', @chars); +} |
