open $new, ") { chomp; my ($key, $loc) = split /:/; $newdb{$key} = $loc; } close $new; while (<$old>) { chomp; my ($key, $loc) = split /:/; if (!defined($newdb{$key})) { print "-$key:$loc\n"; } else { if ($newdb{$key} ne $loc) { print "#$newdb{$key} <- $key:$loc\n"; } $newdb{$key} = ""; } } close $old; for my $i (keys %newdb) { print "+$newdb{$i}\n" if $newdb{$i} ne ""; }