From 1684eff70ec65d91c69270290e32ecf303ee6852 Mon Sep 17 00:00:00 2001 From: Lubos Kolouch Date: Sat, 23 Jan 2021 15:50:48 +0100 Subject: Challenge 001 Perl LK --- challenge-001/lubos-kolouch/perl/ch-1.pl | 33 +++++++++++++++++++++++++ challenge-001/lubos-kolouch/perl/ch-2.pl | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 challenge-001/lubos-kolouch/perl/ch-1.pl create mode 100644 challenge-001/lubos-kolouch/perl/ch-2.pl diff --git a/challenge-001/lubos-kolouch/perl/ch-1.pl b/challenge-001/lubos-kolouch/perl/ch-1.pl new file mode 100644 index 0000000000..cb28f13ebe --- /dev/null +++ b/challenge-001/lubos-kolouch/perl/ch-1.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-1.pl +# +# USAGE: ./ch-1.pl +# +# DESCRIPTION: Perl Weekly Challenge 001 +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-001/ +# Task 1 - replace characters +# +# AUTHOR: Lubos Kolouch +# CREATED: 01/23/2021 03:36:54 PM +#=============================================================================== + +use strict; +use warnings; + +sub replace_e { + my $what = shift; + + my $count = () = $what =~ /e/g; + + $what =~ s/e/E/g; + + return [$count, $what]; +} + +use Test::More; + +is_deeply(replace_e('Perl Weekly Challenge'), [5, 'PErl WEEkly ChallEngE']); +done_testing; + diff --git a/challenge-001/lubos-kolouch/perl/ch-2.pl b/challenge-001/lubos-kolouch/perl/ch-2.pl new file mode 100644 index 0000000000..5addf8f8a3 --- /dev/null +++ b/challenge-001/lubos-kolouch/perl/ch-2.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-1.pl +# +# USAGE: ./ch-1.pl +# +# DESCRIPTION: Perl Weekly Challenge 001 +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-001/ +# Task 2 - FizzBuzz +# +# AUTHOR: Lubos Kolouch +# CREATED: 01/23/2021 03:36:54 PM +#=============================================================================== + +use strict; +use warnings; + +sub fizz_buzz { + my $what = shift; + + my @output; + + for (1..20) { + + my $line = ''; + + $line = 'fizz' if $_ % 3 == 0; + $line .= 'buzz' if $_ % 5 == 0; + $line = $_ unless $line; + + push @output, $line; + } + + return \@output; +} + +use Test::More; + +is_deeply(fizz_buzz(), [1, 2, 'fizz', 4, 'buzz', 'fizz', 7, 8, 'fizz', 'buzz', 11, 'fizz', 13, 14, 'fizzbuzz', 16, 17, 'fizz', 19, 'buzz']); +done_testing; + -- cgit