aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-004/lakpatashi/README1
-rwxr-xr-xchallenge-004/lakpatashi/perl/ch-1.pl10
-rwxr-xr-xchallenge-004/lakpatashi/perl/ch-2.pl46
-rw-r--r--challenge-004/lakpatashi/perl/inputFile10
4 files changed, 67 insertions, 0 deletions
diff --git a/challenge-004/lakpatashi/README b/challenge-004/lakpatashi/README
new file mode 100644
index 0000000000..bc153bd576
--- /dev/null
+++ b/challenge-004/lakpatashi/README
@@ -0,0 +1 @@
+Solution by lakpatashi
diff --git a/challenge-004/lakpatashi/perl/ch-1.pl b/challenge-004/lakpatashi/perl/ch-1.pl
new file mode 100755
index 0000000000..ad95a4a7e9
--- /dev/null
+++ b/challenge-004/lakpatashi/perl/ch-1.pl
@@ -0,0 +1,10 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+# PART 1
+use Math::BigFloat qw(bpi);
+my $size = -s $0;
+print "Script size:: $size\n";
+print"PI value:: ", bpi($size),"\n" ;
diff --git a/challenge-004/lakpatashi/perl/ch-2.pl b/challenge-004/lakpatashi/perl/ch-2.pl
new file mode 100755
index 0000000000..e9c43aa4cb
--- /dev/null
+++ b/challenge-004/lakpatashi/perl/ch-2.pl
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+# PART 2
+use Data::Dumper;
+my $letterSet = "arefileYOu"; #letter set to be matched to
+print "Given letter Set:: $letterSet\n";
+$letterSet = lc $letterSet;
+my %letterFreq = buildFreq($letterSet);
+#print Dumper(\%letterFreq);
+
+open(FH,'<','inputFile') or die($!); # file containing list of words
+while(my $word = <FH>){
+ chomp $word;
+ $word = lc $word;
+ my $status = wordMatch(\%letterFreq,$word)? "matched":"not matched";
+ print "$word ==> $status\n"
+}
+
+sub wordMatch{
+ # arg : <hash> <string>
+ my %letterFreq = %{$_[0]};
+ my $word = $_[1];
+ my %wordFreq = buildFreq($word);
+ #print Dumper(\%wordFreq);
+
+ for my $key (keys %wordFreq){
+ unless( exists $letterFreq{$key} and $wordFreq{$key} <= $letterFreq{$key} ){
+ return 0;
+ }
+ }
+ return 1;
+}
+
+
+
+sub buildFreq{ #given a string returns letter freq. hash
+ my $var = shift;
+ my %freq;
+ for my $key (split //, $var){
+ $freq{$key}++;
+ }
+ return %freq;
+}
diff --git a/challenge-004/lakpatashi/perl/inputFile b/challenge-004/lakpatashi/perl/inputFile
new file mode 100644
index 0000000000..90bdc5cf56
--- /dev/null
+++ b/challenge-004/lakpatashi/perl/inputFile
@@ -0,0 +1,10 @@
+You
+are
+given
+a
+file
+containing
+a
+list
+of
+words