adventofcode2018/2/2.pl
2018-12-04 22:46:54 +00:00

40 lines
524 B
Perl

#!/usr/bin/perl
use strict;
chomp (my @data = <STDIN>);
foreach my $w (@data) {
print checksum($w, @data);
}
sub checksum ($@) {
my $word = shift;
my @list = @_;
my @word = split //, $word;
foreach my $w (@list) {
my @w = split //, $w;
# word lengths are all equal.
my $diff = 0;
my $common;
for (my $i = 0; $i <= $#word; $i++) {
if ($word[$i] ne $w[$i]) {
$diff++
} else {
$common .= $w[$i];
}
}
if ($diff == 1) {
print "$word, $w, $diff, $common\n";
exit;
}
}
}