From 2a98b935432df0d406fd41563cf7d6daa5407c3f Mon Sep 17 00:00:00 2001 From: vinodk89 Date: Sun, 5 Oct 2025 00:08:05 +0530 Subject: Perl Solutions for Challenge-341 --- challenge-341/vinod-k/perl/ch-1.pl | 32 ++++++++++++++++++++++++++++++++ challenge-341/vinod-k/perl/ch-2.pl | 20 ++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 challenge-341/vinod-k/perl/ch-1.pl create mode 100644 challenge-341/vinod-k/perl/ch-2.pl diff --git a/challenge-341/vinod-k/perl/ch-1.pl b/challenge-341/vinod-k/perl/ch-1.pl new file mode 100644 index 0000000000..4d182cb6eb --- /dev/null +++ b/challenge-341/vinod-k/perl/ch-1.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +# Read sentence from standard input +print("Enter the sentence:\n"); +chomp(my $str = ); + +# Read broken keys as space-separated input from standard input +print("Enter the broken keys as space-separated:\n"); +chomp(my $keys_line = ); +my @keys = split /\s+/, $keys_line; + +my %broken = map { lc($_) => 1 } @keys; +my @words = split /\s+/, $str; + +my $count = 0; +foreach my $word (@words) { + my $can_type = 1; + foreach my $char (split //, lc($word)) { + if ($broken{$char}) { + $can_type = 0; + last; + } + } + $count++ if $can_type; +} + +print "$count\n"; + + diff --git a/challenge-341/vinod-k/perl/ch-2.pl b/challenge-341/vinod-k/perl/ch-2.pl new file mode 100644 index 0000000000..234a9c0709 --- /dev/null +++ b/challenge-341/vinod-k/perl/ch-2.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +print "Enter the string: "; +chomp(my $str = ); + +print "Enter the character to reverse prefix until: "; +chomp(my $char = ); + +my $index = index($str, $char); + +if ($index == -1 || $index == 0) { + print "$str\n"; +} else { + my $prefix = substr($str, 0, $index + 1); + my $reversed = reverse $prefix; + print $reversed . substr($str, $index + 1) . "\n"; +} -- cgit