use strict; use Data::Dumper; use List::Compare; my @AoA = ( [ 'beethoven', 'berlioz', 'strauss' ], [ 'wagner', 'mozart', 'brahms' ], [ 'sibelius', 'elgar', 'dvorak' ] ); # Should return 1 (True) my $test = [ 'wagner', 'mozart', 'brahms' ]; # Should return 0 (False) my $test2 = [ 'faure', 'debussy', 'stravinksy' ]; print check_if_inst_occur_already(\@AoA,$test),"\n"; print check_if_inst_occur_already(\@AoA,$test2),"\n"; sub check_if_inst_occur_already { my ( $store, $inst_set ) = @_; INST_ALREADY: foreach my $ins_already ( @{$store} ) { my $lc = List::Compare->new( $ins_already, $inst_set ); my $eq = $lc->is_LeqvlntR; print "EQ : $eq\n"; if ( $eq == 0 ) { return 0; } else { return 1; last INST_ALREADY; } } }