in reply to TIMTOWTDI/golf - counting backwards


Hmm,

are we still not allowed numeric operators (like last time?) Here's my shortest, followed by a rehashing of what i did last time, which is essentially a variation on the sort{$b<=>$a} trick. The lack of \w characters would be more interesting, i think i'll try one if i get some free time today...

#1 (at 35 chars) map{print@_.$";pop@_}@_=($")x ord$/ #2 $$_=~/((((((((((.))))))))))/for$|..ord$/;print map $_.$",sort{chr$b cmp chr$a}grep/\d/&$||$_,keys%::
enjoy,
jynx

Update: i have a version with no \w characters which can be found below

Replies are listed 'Best First'.
Re: Re: TIMTOWTDI/golf - counting backwards
by jynx (Priest) on Feb 16, 2002 at 19:30 UTC

    In order to free up my scratchpad, here's my entry for the no \w characters portion of this contest. There are numeric operators, but no underscores (which was a trick unto itself). The invocation of the script is not counted towards the "no \w character limit", or at least i didn't count it...

    Well, ok, the first version uses 4 letters ('e', 'v', 'a', and 'l') and the second version reuires a special invocation. And no, neither of them are remotely strict or warning compliant. But hey, it's the best i could do. i'd be interested in seeing other's attempts (should they choose to go insane and try this as well :)

    enjoy,
    jynx

    # 1 # requires no special invocation, uses 'e','v','a','l' %!=('!'=>$|+@{[$"]},'@'=>$|+@{[$",$"]});($;{'!'})=$::{'"'}=~/\*.(.)/ ;$;{'^'}=$;{'#'}=$;{'!'};$;{'~'}=++$;{'^'};$;{'='}=++$;{'^'};$;{'(' }=++$;{'^'};$;{'!'}=($;{'*'}=++$;{'^'}).$;{'!'};$;{'*'}++;$;{'*'}++ ;$;{'='}.=++$;{'*'};($;{'@'})=$::{'"'}=~/\*..(.)/;$;{'&'}=$;{'@'};$; {'&'}++;$;{'&'}++;$;{'!'}.=++$;{'&'};($;{'*'})=$::{'@'}=~/\*(.)/;$; {'#'}=$;{'*'}.$;{'#'};($;{'&'})=$::{'$'}=~/\*...(.)/;$;{'@'}.=$;{'&' };$;{'%'}=$;{'$'}=++$;{'&'};$;{'('}=$;{'%'}.$;{'('};$;{'*'}=++$;{'&' };$;{'@'}=$;{'*'}.$;{'@'};$;{'#'}.=$;{'&'};$;{'$'}=$;{'*'}.$;{'$'}. $;{'&'};$;{'*'}++;@;=$;{'('}=~/(.)(.)/;$;{'('}=$;[$|].++$;{'*'}.$;[ $!{'!'}];$;{'='}.=$;{'*'};@;=$;{'@'}=~/(.)(.)(.)/;$;{'@'}=$;[$|].$; {'*'}.$;[$!{'!'}].$;[$!{'@'}];$;{'~'}=++$;{'*'}.$;{'~'};$;{'@'}.=++ $;{'*'};@;=$;{'~'}=~/(.)(.)/;$;{'~'}=$;[$|].++$;{'*'}.$;[$!{'!'}];@; =$;{'!'}=~/(.)(.)(.)/;$;{'!'}=$;[$|].++$;{'*'}.$;[$!{'!'}].$;[$!{'@' }];($;{'*'})=$::{'"'}=~/\*(.)/; eval $;{'~'}.$".$;{'^'}.'{'.$;{'!'}.$".$; {'$'}.'}';$;{'^'}->($;{'~'}.$".$;{'%'}.'{'.$;{'('}.$".$;{'$'}.'}');$; {')'}=$;{'^'}->($;{'='}.'($=+'.$;{'^'}->($;{'('}.'"#"').')');$;{'^'} ->($;{'~'}.$".$;{'&'}.'{'.$;{'@'}.'@'.$;{')'}.'}');$;{'^'}->($;{'~'} .$".$;{'*'}.'{'.$;{'#'}.'{'.$;{'&'}.'(@'.$;{')'}.'.$");'.$;{'$'}.'@' .$;{')'}.'}@'.$;{')'}.'}');$;{'*'}->($",$",$",$",$",$",$",$",$",$") # 2 # call using: perl -e 'sub e{eval"@_"}do"./foo"' # where 'foo' is the filename where the code is stored %!=('!'=>$|+@{[$"]},'@'=>$|+@{[$",$"]});($;{'!'})=$::{'"'}=~/\*.(.)/ ;$;{'^'}=$;{'#'}=$;{'!'};$;{'~'}=++$;{'^'};$;{'='}=++$;{'^'};$;{'(' }=++$;{'^'};$;{'!'}=($;{'*'}=++$;{'^'}).$;{'!'};$;{'*'}++;$;{'*'}++ ;$;{'='}.=++$;{'*'};($;{'@'})=$::{'"'}=~/\*..(.)/;$;{'&'}=$;{'@'};$; {'&'}++;$;{'&'}++;$;{'!'}.=++$;{'&'};($;{'*'})=$::{'@'}=~/\*(.)/;$; {'#'}=$;{'*'}.$;{'#'};($;{'&'})=$::{'$'}=~/\*...(.)/;$;{'@'}.=$;{'&' };$;{'%'}=$;{'$'}=++$;{'&'};$;{'('}=$;{'%'}.$;{'('};$;{'*'}=++$;{'&' };$;{'@'}=$;{'*'}.$;{'@'};$;{'#'}.=$;{'&'};$;{'$'}=$;{'*'}.$;{'$'}. $;{'&'};$;{'*'}++;@;=$;{'('}=~/(.)(.)/;$;{'('}=$;[$|].++$;{'*'}.$;[ $!{'!'}];$;{'='}.=$;{'*'};@;=$;{'@'}=~/(.)(.)(.)/;$;{'@'}=$;[$|].$; {'*'}.$;[$!{'!'}].$;[$!{'@'}];$;{'~'}=++$;{'*'}.$;{'~'};$;{'@'}.=++ $;{'*'};@;=$;{'~'}=~/(.)(.)/;$;{'~'}=$;[$|].++$;{'*'}.$;[$!{'!'}];@; =$;{'!'}=~/(.)(.)(.)/;$;{'!'}=$;[$|].++$;{'*'}.$;[$!{'!'}].$;[$!{'@' }];($;{'*'})=$::{'"'}=~/\*(.)/;$;{'~'}.$".$;{'^'}.'{'.$;{'!'}.$".$; {'$'}.'}';$;{'^'}->($;{'~'}.$".$;{'%'}.'{'.$;{'('}.$".$;{'$'}.'}');$; {')'}=$;{'^'}->($;{'='}.'($=+'.$;{'^'}->($;{'('}.'"#"').')');$;{'^'} ->($;{'~'}.$".$;{'&'}.'{'.$;{'@'}.'@'.$;{')'}.'}');$;{'^'}->($;{'~'} .$".$;{'*'}.'{'.$;{'#'}.'{'.$;{'&'}.'(@'.$;{')'}.'.$");'.$;{'$'}.'@' .$;{')'}.'}@'.$;{')'}.'}');$;{'*'}->($",$",$",$",$",$",$",$",$",$")