anagram

Run Settings
LanguagePerl
Language Version
Run Command
use v5.18; use utf8; sub anagram { my $arrayref = shift; my %uniq; my %res; for my $val (map { lc $_ } @$arrayref) { next if $uniq{$val}++; my $key = join '', sort split(//, $val); push @{ $res{$key} }, $val; } my %res2; for my $key (keys %res) { next if scalar @{ $res{$key} } < 2; my $k = $res{$key}->[0]; @{ $res2{$k} } = @{ $res{$key} }; } return \%res2; } my @list = ('пятак', 'ЛиСток', 'пятка', 'стул', 'ПяТаК', 'слиток', 'тяпка', 'столик', 'слиток'); my $result = anagram(\@list); say "$_: @{$result->{$_}}" for sort keys %$result; # { 'пятак' => ['пятак', 'пятка', 'тяпка'], 'листок' => ['листок', 'слиток', 'столик'], }
Editor Settings
Theme
Key bindings
Full width
Lines