diff options
| author | Dave Cross <dave@dave.org.uk> | 2022-10-03 11:04:24 +0100 |
|---|---|---|
| committer | Dave Cross <dave@dave.org.uk> | 2022-10-03 11:04:24 +0100 |
| commit | 107ac6f42f514b028797bfd00e513714e2d34e7a (patch) | |
| tree | d54e9ad69448b174c96670ef2bc4ed863048bdcc /challenge-185 | |
| parent | e23f39fb80db32b6e802106e4b5d3421e15fb308 (diff) | |
| download | perlweeklychallenge-club-107ac6f42f514b028797bfd00e513714e2d34e7a.tar.gz perlweeklychallenge-club-107ac6f42f514b028797bfd00e513714e2d34e7a.tar.bz2 perlweeklychallenge-club-107ac6f42f514b028797bfd00e513714e2d34e7a.zip | |
Challenge #185
Diffstat (limited to 'challenge-185')
| -rw-r--r-- | challenge-185/dave-cross/perl/ch-1.pl | 14 | ||||
| -rw-r--r-- | challenge-185/dave-cross/perl/ch-2.pl | 20 |
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-185/dave-cross/perl/ch-1.pl b/challenge-185/dave-cross/perl/ch-1.pl new file mode 100644 index 0000000000..ce3b004799 --- /dev/null +++ b/challenge-185/dave-cross/perl/ch-1.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use feature 'say'; + +my $in = shift; + +my $hex_re = qr/[a-f0-9]/i; + +die "$in is not a valid MAC address\n" + unless $in =~ /^$hex_re{4}\.$hex_re{4}\.$hex_re{4}$/; + +say join ':', $in =~ /($hex_re{2})/g; diff --git a/challenge-185/dave-cross/perl/ch-2.pl b/challenge-185/dave-cross/perl/ch-2.pl new file mode 100644 index 0000000000..f2aab1003b --- /dev/null +++ b/challenge-185/dave-cross/perl/ch-2.pl @@ -0,0 +1,20 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use feature 'say'; + +for my $in (@ARGV) { + my $x = 0; + + for (0 .. length($in) - 1) { + if (substr($in, $_, 1) =~ /[a-z0-9]/) { + substr $in, $_, 1, 'x'; + ++$x; + } + + last if $x == 4; + } + + say $in; +} |
