diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-04-18 20:44:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-18 20:44:19 +0100 |
| commit | 7e987426212cfb8653e30718ea3a0f97fb864a5f (patch) | |
| tree | 2c2e2bd7b2b9366a207d2656ddc7e3249d6710b2 | |
| parent | 2aa8dbcec35ce2a86666be0840fb8a767d21656c (diff) | |
| parent | 3c25ec43d1388d341c721a1d350adfc3146257a2 (diff) | |
| download | perlweeklychallenge-club-7e987426212cfb8653e30718ea3a0f97fb864a5f.tar.gz perlweeklychallenge-club-7e987426212cfb8653e30718ea3a0f97fb864a5f.tar.bz2 perlweeklychallenge-club-7e987426212cfb8653e30718ea3a0f97fb864a5f.zip | |
Merge pull request #11894 from kjetillll/challenge-316-kjetillll
https://theweeklychallenge.org/blog/perl-weekly-challenge-316/
| -rw-r--r-- | challenge-316/kjetillll/perl/ch-1.pl | 7 | ||||
| -rw-r--r-- | challenge-316/kjetillll/perl/ch-2.pl | 19 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-316/kjetillll/perl/ch-1.pl b/challenge-316/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..cd70fcb616 --- /dev/null +++ b/challenge-316/kjetillll/perl/ch-1.pl @@ -0,0 +1,7 @@ +sub f { "@_" !~ /(.) (?!\1)/ } + +print f("perl", "loves", "scala") ? "ok\n" : "error\n"; # true +print ! f("love", "the", "programming") ? "ok\n" : "error\n"; # false +print f("java", "awk", "kotlin", "node.js") ? "ok\n" : "error\n"; # true +print f("ISI","I","IJK","KAREN") ? "ok\n" : "error\n"; # true +print ! f("ISI","I","KJK","KAREN") ? "ok\n" : "error\n"; # false diff --git a/challenge-316/kjetillll/perl/ch-2.pl b/challenge-316/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..22c9aee3f6 --- /dev/null +++ b/challenge-316/kjetillll/perl/ch-2.pl @@ -0,0 +1,19 @@ +#Makes a regexp out of the first string by putting .* behind each char +#and match that against the second input string. + +sub f { pop =~ m|@{[ pop =~ s/./\Q$&\E.*/gr ]}| } + +print f( "uvw", "bcudvew" ) ? "ok\n" : "error\n"; # true +print ! f( "aec", "abcde" ) ? "ok\n" : "error\n"; # false +print f( "sip", "javascript" ) ? "ok\n" : "error\n"; # true +print ! f( "ae.", "abcdef" ) ? "ok\n" : "error\n"; # false +print f( "ae.", "abcde.f" ) ? "ok\n" : "error\n"; # false +print f( "ae.x(", "abcdef.kx(+" ) ? "ok\n" : "error\n"; # false + +#regexp allergy? +sub f2 { + my @substr = split//, shift; + my @str = split//, shift; + $_ eq $substr[0] and shift @substr for @str; + !@substr +} |
