#!/usr/bin/perl use 5.026001; use warnings; use Test::More; sub same { my ($s1, $s2) = @_; my %l1; $l1{$_}++ for unpack "(A)*" => $s1; my %l2; $l2{$_}++ for unpack "(A)*" => $s2; is_deeply (\%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 ((join "" => map { $_, $l1{$_} } sort keys %l1), (join "" => map { $_, $l2{$_} } sort keys %l2), "'$s1' ~!~ '$s2'"); } # diff same ("ABBABAA", "BAABABA"); diff ("ABBABAA", "BAABBBA"); diff ("ABBABAA", "ABBABaA"); diff ("ABBABAA", "BAABBAA "); diff ("ABBABAA", "BAABABA "); diff ("ABBABAA", "BAABABAA"); done_testing;