aboutsummaryrefslogtreecommitdiff
path: root/challenge-005/john-barrett/perl5/ch-1.pl
diff options
context:
space:
mode:
authorbagheera-sands <git@sandsscouts.org.uk>2019-04-30 00:56:14 +0100
committerbagheera-sands <git@sandsscouts.org.uk>2019-04-30 00:56:14 +0100
commitfe9360b22574abda0ae267f0ef7a18446d3280f2 (patch)
tree23d9d5746138e722e496ab71881912fe52bc4316 /challenge-005/john-barrett/perl5/ch-1.pl
parentcec6581d6bb64aab7cf23f0ee4f1c9c08702dcb0 (diff)
parent2f5ee8d01e0212d9c8e587014b0df2710e0b0ef1 (diff)
downloadperlweeklychallenge-club-fe9360b22574abda0ae267f0ef7a18446d3280f2.tar.gz
perlweeklychallenge-club-fe9360b22574abda0ae267f0ef7a18446d3280f2.tar.bz2
perlweeklychallenge-club-fe9360b22574abda0ae267f0ef7a18446d3280f2.zip
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club
Diffstat (limited to 'challenge-005/john-barrett/perl5/ch-1.pl')
-rwxr-xr-xchallenge-005/john-barrett/perl5/ch-1.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-005/john-barrett/perl5/ch-1.pl b/challenge-005/john-barrett/perl5/ch-1.pl
new file mode 100755
index 0000000000..6da945d981
--- /dev/null
+++ b/challenge-005/john-barrett/perl5/ch-1.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use autodie;
+
+my $word = sortedlc( $ARGV[0] );
+my $wordlength = length $word;
+
+sub sortedlc { join '', sort { $a cmp $b } split '', lc $_[0] }
+
+sub is_anagram {
+ my ( $dictword ) = @_;
+ return 0 if length $dictword != $wordlength;
+ $word eq sortedlc $dictword;
+}
+
+open my $fh, '<:encoding(UTF-8)', '/usr/share/dict/words';
+chomp( my @dict = <$fh> );
+print "$_\n" for grep { is_anagram( $_ ) } @dict;