diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2019-12-01 18:11:28 -0500 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2019-12-01 18:11:28 -0500 |
| commit | 46d2a0c2e7e0867b999b5cb434f89afcc1c975bb (patch) | |
| tree | 4e10a4f9ef38e2833215c4fabf3051a29ca41623 /challenge-036 | |
| parent | 40fef95940d44099adc8dd0fee4dda1e461c6842 (diff) | |
| download | perlweeklychallenge-club-46d2a0c2e7e0867b999b5cb434f89afcc1c975bb.tar.gz perlweeklychallenge-club-46d2a0c2e7e0867b999b5cb434f89afcc1c975bb.tar.bz2 perlweeklychallenge-club-46d2a0c2e7e0867b999b5cb434f89afcc1c975bb.zip | |
Challenge 36 part 1 by Jaldhar H. Vyas
Diffstat (limited to 'challenge-036')
| -rwxr-xr-x | challenge-036/jaldhar-h-vyas/perl/ch-1.pl | 24 | ||||
| -rwxr-xr-x | challenge-036/jaldhar-h-vyas/raku/ch-1.p6 | 23 |
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-036/jaldhar-h-vyas/perl/ch-1.pl b/challenge-036/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..ba043ee955 --- /dev/null +++ b/challenge-036/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl +use warnings; +use strict; +use 5.010; + +sub validateVIN { + my ($vin) = @_; + + if (length $vin != 17) { + return undef; + } + + if ($vin !~ /^ + [[:alnum:]]{3} # World Manufacturer Identifier + [[:alnum:]]{6} # Vehicle Descriptor Section + [[:alnum:]]{8} # Vehicle Identifier Section + $/msx) { + return undef; + } + + return 1; +} + +say (validateVIN(shift // q{}) ? 'VALID' : 'INVALID'); diff --git a/challenge-036/jaldhar-h-vyas/raku/ch-1.p6 b/challenge-036/jaldhar-h-vyas/raku/ch-1.p6 new file mode 100755 index 0000000000..ee267965ec --- /dev/null +++ b/challenge-036/jaldhar-h-vyas/raku/ch-1.p6 @@ -0,0 +1,23 @@ +#!/usr/bin/perl6 + +sub validateVIN(Str $vin) { + + if ($vin.chars != 17) { + return False; + } + + if $vin !~~ /^ + <alnum> ** 3 # World Manufacturer Identifier + <alnum> ** 6 # Vehicle Descriptor Section + <alnum> ** 8 # Vehicle Identifier Section + $/ { + return False; + } + + return True; +} + +multi sub MAIN(Str $vin) { + + say (validateVIN($vin) ?? 'VALID' !! 'INVALID'); +} |
