http://www.perlmonks.org?node_id=968487


in reply to Re^4: Perl Golf idea
in thread Perl Golf idea

Nice. Here's one that returns the correct output using a few characters less:

perl -nE'$w//=pop;[sort$w=~/./g]~~[sort//g]&&print' ./dict.txt acert

or, two characters less than that, but with an extra newline between each word:

perl -nE'$w//=pop;[sort$w=~/./g]~~[sort//g]&&say' ./dict.txt acert

UPDATE: shorter version with correct output:

perl -nlE'$w//=pop;[sort$w=~/./g]~~[sort//g]&&say' ./dict.txt acert

or, same length, more efficient:

perl -nlE'($w//=[sort pop=~/./g])~~[sort//g]&&say' ./dict.txt acert