diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-06-04 22:18:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-04 22:18:34 +0100 |
| commit | 49fd1c574eff95574cc8a410f7764eeed8edd0e3 (patch) | |
| tree | 0a54fc80cdf167e93a996878920a98d344ff164f | |
| parent | 1eb1d578a5c7f192dca4dac31a0ba0b9fec630b3 (diff) | |
| parent | fa97ecd56d4adbabd4879dc24110d019624a3113 (diff) | |
| download | perlweeklychallenge-club-49fd1c574eff95574cc8a410f7764eeed8edd0e3.tar.gz perlweeklychallenge-club-49fd1c574eff95574cc8a410f7764eeed8edd0e3.tar.bz2 perlweeklychallenge-club-49fd1c574eff95574cc8a410f7764eeed8edd0e3.zip | |
Merge pull request #8176 from lancew/lw-challenge-219-perl
Perl version for Challenge 219wq
| -rw-r--r-- | challenge-219/lance-wicks/perl/ch-1.pl | 13 | ||||
| -rw-r--r-- | challenge-219/lance-wicks/perl/lib/My/Sorted/Square.pm | 16 | ||||
| -rw-r--r-- | challenge-219/lance-wicks/perl/t/01-sorted-squares.t | 15 |
3 files changed, 44 insertions, 0 deletions
diff --git a/challenge-219/lance-wicks/perl/ch-1.pl b/challenge-219/lance-wicks/perl/ch-1.pl new file mode 100644 index 0000000000..a395832ee2 --- /dev/null +++ b/challenge-219/lance-wicks/perl/ch-1.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; + +use lib './lib'; +use My::Sorted::Square; + +my $list_txt = join ", ", @ARGV; +print "Input: \@list = ($list_txt)\n"; + +my @squares = My::Sorted::Square->run(@ARGV); +my $output_txt = join ", ", @squares; +print "Output: ($output_txt)\n"; + diff --git a/challenge-219/lance-wicks/perl/lib/My/Sorted/Square.pm b/challenge-219/lance-wicks/perl/lib/My/Sorted/Square.pm new file mode 100644 index 0000000000..33077048ea --- /dev/null +++ b/challenge-219/lance-wicks/perl/lib/My/Sorted/Square.pm @@ -0,0 +1,16 @@ +package My::Sorted::Square; +use Moo; + +sub run { + my ( $self, @list ) = @_; + + my @squared_list; + for my $num (@list) { + push @squared_list, $num**2; + } + + @squared_list = sort { $a <=> $b } @squared_list; + return @squared_list; +} + +1; diff --git a/challenge-219/lance-wicks/perl/t/01-sorted-squares.t b/challenge-219/lance-wicks/perl/t/01-sorted-squares.t new file mode 100644 index 0000000000..801b4739b1 --- /dev/null +++ b/challenge-219/lance-wicks/perl/t/01-sorted-squares.t @@ -0,0 +1,15 @@ +use Test2::V0 -target => 'My::Sorted::Square'; + +subtest 'Example 1' => sub { + my @list = ( -2, -1, 0, 3, 4 ); + my @squares = $CLASS->run(@list); + is \@squares, [ 0, 1, 4, 9, 16 ]; +}; + +subtest 'Example 2' => sub { + my @list = ( 5, -4, -1, 3, 6 ); + my @squares = $CLASS->run(@list); + is \@squares, [ 1, 9, 16, 25, 36 ]; +}; + +done_testing; |
