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


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

And if you don't mind the (second) argument getting printed, another 3 chars less:
perl -nlE'sub w{[sort/./g]}$w||=w$_=pop;$w~~w&&say' ./dict.txt acert

This one is wrong (only) if the first line of 'dict.txt' contains a valid word (different from arg2).

example:

$ cat dict.txt one neo noe bad $ perl -nlE'sub w{[sort/./g]}$w||=w$_=pop;$w~~w&&say' ./dict.txt oen oen neo noe

First word is missing. Anyway, this is a very beautiful version: ++

UPDATE: with an extra newline

perl -E'@a=sort pop=~/./g;say grep@a~~[sort/./g],<>' ./dict.txt acert

UPDATE2: one char useless

perl -E'@a=sort pop=~/./g;say grep@a~~[sort//g],<>' ./dict.txt acert