use List::Util qw/ first /; my %count; $count{$_}++ for split /,/, $str1; $count{$_}-- for split /,/, $str2; my $different = defined first { $_ } values %count; #### require Test::More; my $equal = Test::More::eq_array( [ split ',', $str1 ], [ split ',', $str2 ], );