上記で書いてたのは



use Algorithm::Diff qw(LCS);
my $lcs = LCS($list1, $list2);


use List::Compare;
my $intersection = List::Compare->new($list1, $list2)->get_intersection;

の使用方法の違いと、あと細かい条件付けの話で色々思いついた事があったから。どっちも初めて使ったけど、いい感じ。あと、List::Utilも初めて使った。