#!/usr/bin/env perl use strict; use warnings; use Set::Scalar; my @account = qw( 96329XY 7776fc 334457yg 2233oop 000001 8877666b); my @file = qw(8877666b.txt 2233oop.txt 334457yg.txt 7776fc.txt 96329XY_K.txt); s/\.txt// for @file; my $account_set = Set::Scalar->new(@account); my $file_set = Set::Scalar->new(@file); my $intersection = $account_set * $file_set; $intersection->as_string_callback( sub { join qq(\n), sort $_[0]->elements } ); print qq($intersection\n); __END__ karls-mac-mini:monks karl$ ./1102555.pl 2233oop 334457yg 7776fc 8877666b