aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlakpatashi <lakpatashi@gmail.com>2021-04-14 16:18:28 +0530
committerlakpatashi <lakpatashi@gmail.com>2021-04-14 16:18:28 +0530
commitc21c42264b9e202cde1fde5f040f6df023c4ea4b (patch)
tree26fa53817ad8dec874bd19973e8762025fd12eb6
parent4f5a6326cd97c1aa247d1c974e9730696922bfc0 (diff)
downloadperlweeklychallenge-club-c21c42264b9e202cde1fde5f040f6df023c4ea4b.tar.gz
perlweeklychallenge-club-c21c42264b9e202cde1fde5f040f6df023c4ea4b.tar.bz2
perlweeklychallenge-club-c21c42264b9e202cde1fde5f040f6df023c4ea4b.zip
Finished challenge-004 with perl
-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