use Modern::Perl; use List::Compare; # Make two arrays with fake data my @left = map {'AA' . int(rand (5000000) + 1000000)} (1 ... 5000000); my @right = map {'AA' . int(rand (5000000) + 1000000)} (1 ... 5000000); my $start = time; my $lc = List::Compare->new('-u', \@left, \@right); { open my $OUT_INTER, '>', './intersection.txt'; say $OUT_INTER $_ for $lc->get_intersection; } { open my $OUT_DIFF, '>', './difference.txt'; say $OUT_DIFF $_ for $lc->get_symmetric_difference; } my $duration = time - $start; say "Duration: $duration seconds.";