in reply to "Countdown" (golf)
1. Opened a words file outside the subroutine
2. Passed in letters as array not array ref or string (method wasn't specified above)
3. Case sensitive... I don't match 'Sunday' because I wasn't passed a capital S.
4. Returns a large set of matching words, w/o looking for the longest ones..... that wasn't the "interesting" part of the course for me, so I punted. ;-)
So, here's my first second fourth attempt at 64 chars:
Historical Incantations:my @letters = qw(d u n s c a e y t); open(D,"/usr/dict/words") or die $!; my @words = f(@letters); print "$_\n" for @words; sub f { # 1 2 3 4 5 6 #234567890123456789012345678901234567890123456789012345678901234 $;=join'?',sort@_,$;;grep{chop;(join'',sort split//)=~/^$;$/}<D> } __END__ =head1 SAMPLE OUTPUT ace aces acne act acted acute ad ads an and [SNIP] uneasy unsteady [SNIP]
# 1 2 3 4 5 6 7 #234567890123456789012345678901234567890123456789012345678901234567890 +123456 $,=join'?',sort(@_),'';grep{chop;$;=join'',(sort(split//,$_));$;=~/^$, +$/}<D> $,=join'?',sort(@_),'';grep{chop;(join'',(sort(split//,$_)))=~/^$,$/}< +D> $,=join'?',sort(@_),'';grep{chop;(join'',sort split//)=~/^$,$/}<D> $;=join'?',sort@_,$;;grep{chop;(join'',sort split//)=~/^$;$/}<D> # with japhy's help... $;=join'?',sort@_;grep{chop;(join'',sort split//)=~/^$;?$/}<D> @_=sort@_;$"='?';grep{chop;(join'',sort split//)=~/^@_?$/}<D> # with dragonchild's help, and a 'perl -l' trick: @_=sort@_;$"='?';grep{(join'',sort split//)=~/^$\@_?$/}<D> # stealing a bit from gbarr @_=sort@_;$"='?';grep{(join'',sort/./g)=~/^@_?$/}<D>
-Blake
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: "Countdown" (golf)
by japhy (Canon) on Nov 30, 2001 at 14:19 UTC | |
by blakem (Monsignor) on Nov 30, 2001 at 15:11 UTC | |
by graq (Curate) on Nov 30, 2001 at 15:13 UTC | |
by blakem (Monsignor) on Nov 30, 2001 at 15:19 UTC | |
by graq (Curate) on Nov 30, 2001 at 15:40 UTC | |
|
Re: Re: "Countdown" (golf)
by dragonchild (Archbishop) on Nov 30, 2001 at 18:35 UTC | |
by blakem (Monsignor) on Dec 01, 2001 at 01:28 UTC |