From 6bc322e92ee3b5bfe27893f853cb6be736307a2d Mon Sep 17 00:00:00 2001 From: Niels van Dijke Date: Mon, 1 Jun 2020 06:22:16 +0000 Subject: Task 2 --- challenge-063/perlboy1967/perl/ch-2.pl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 challenge-063/perlboy1967/perl/ch-2.pl 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); +} -- cgit