map{ chomp; $isword{uc join "", sort /./g} .= "$_+" } <FH>;
Как правило, он использует элементы в файле, сначала сортирует, затем uc, затем добавляет в hashmap.
Но я хочу сначала uc, а затем сортировать.
Делает что-нибудьзнаете, как это сделать?
В соответствии с духом краткости вы достигли:
map{ chomp; $isword{join "", uc =~ sort /./g} .= "$_+" } <FH>;
Попробуйте:
#!/usr/bin/perl use 5.10.1; use strict; use warnings; use Data::Dumper; my %isword; map{ chomp; my $c=$_; $_=uc$_; $isword{join "", sort /./g} .= "$c+" } <DATA>; say Dumper \%isword; __DATA__ cbA zyx DEF tuv Ghi PQr
$VAR1 = { ' GHIPQR' => 'Ghi PQr+', ' DEFTUV' => 'DEF tuv+', ' ABCXYZ' => 'cbA zyx+' };