use 5.026001; use warnings; use Test2::V0; sub same { my ($s1, $s2) = @_; my %l1; $l1{$_}++ for unpack "(A)*" => $s1; my %l2; $l2{$_}++ for unpack "(A)*" => $s2; is (\%l1, \%l2, "'$s1' ~~~ '$s2'"); } # same sub diff { my ($s1, $s2) = @_; my %l1; $l1{$_}++ for unpack "(A)*" => $s1; my %l2; $l2{$_}++ for unpack "(A)*" => $s2; isnt (\%l1, \%l2, "'$s1' ~!~ '$s2'"); # <- this line is now much simpler } # diff same ("ABBABAA", "BAABABA"); diff ("ABBABAA", "BAABBBA"); diff ("ABBABAA", "ABBABaA"); diff ("ABBABAA", "BAABBAA "); diff ("ABBABAA", "BAABABA "); diff ("ABBABAA", "BAABABAA"); done_testing;