Erm, if the last one was rejected, then this one will be too. Waiting to find out why....
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}.=''}for(;;$f=''){map{$f||$p{$_}||print$f=$_,$/}keys%p;$f?delete$p{$f}:each%p?die:last;map s/ $f //g,values%p
|
I think I saved a character somewhere. This is not _at_ its dead end.
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}x=1}for(;;$f=''){map{$f||$p{$_}||print$f=$_,$/}keys%p;$f?delete$p{$f}:each%p?die:last;map s/ \Q$f //g,values%p
|
Phew! Never used \Q before. Quick recovery from my 150.45 rejection.
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}.=''}for(;;$f=''){map{$f||$p{$_}||print$f=$_,$/}keys%p;$f?delete$p{$f}:each%p?die:last;map s/ \Q$f //g,values%p
|
$f -> @f. Phew, half of my drop clawed back.
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}x=1}for(;;@f=()){map{@f||$p{$_}||print+@f=$_,$/}keys%p;@f?delete$p{$f[0]}:each%p?die:last;map s/ \Q@f //g,values%p
|
I've got it to the stage where I don't understand it. Is that a good or a bad thing?
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}.=''}for(;;$f=''){map{$f||$p{$_}||print$f=$_,$/}keys%p;$f?delete$p{$f}:each%p?die:last;map$p{$_}=~s/ $f //g,keys%p
|
Hoorah, getting longer!
#!perl -n
/ (\S+)/;$p{$1}.=" $` "if$`ne$1;$p{$`}x=1}for(;;$f=''){map{''ne$f||$p{$_}||print$f=$_,$/}keys%p;''ne$f?delete$p{$f}:each%p?die:last;map s/ \Q$f //g,values%p
|
First hack: 500 inc debug, 200 without Using everything I know aboutperl I've squeezed it to 163. YOU GUYS ARE NOT HUMAN! :-D
#!perl
for(<>){/ (\S+)/;$p{$1}.=" $` "if($`ne$1);$p{$`}.=''}for(;;$f=''){map{$f||$p{$_}||print$f=$_,$/}keys%p;$f?delete$p{$f}:each%p?die:last;map$p{$_}=~s/ $f //g,keys%p}
|