@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Array::Diff で二つの配列の差分をとる

メールアドレスのリストをもらってきて、その一覧に対して何か処理をして、結果影響があった行について出力し、両者を比較したら何行か差があったのでどこが違うか調べようと思って、 Array::Diff を使った。今回のケースだとふつうに diff(1) を使っても同じことだった・・・。

gist:128452 · GitHub

#!/usr/bin/env perl
use strict;
use Array::Diff;
use Data::Dumper;

my ($old, $new) = @ARGV;
open my $io, '<', $old;
my @old = <$io>;
chomp @old;
close $io;
open my $io, '<', $new;
my @new = <$io>;
chomp @new;
close $io;

my $diff = Array::Diff->diff(\@old, \@new);
print Dumper $diff;