in reply to Seek one liner for distributing an integer

$result{$array[$num%@array]}++ while ($num--);

Replies are listed 'Best First'.
Re^2: Seek one liner for distributing an integer
by ikegami (Patriarch) on Sep 22, 2004 at 05:49 UTC

    or if you want something ugly:

    %result = map{pop@array,length}('1'x$num)=~/^@{['(.*)'.'(\1.?)'x$#array]}$/;

    Apparently, map + regexps can do anything! ☺

    Non-destructive:

    %result = map{$array[$i++],length}('1'x$num)=~/^@{['(.*)'.'(\1.?)'x$#array]}$/;
      Apparently, map + regexps can do anything!
      I'm pretty sure perl's flavor of regular expressions are turing complete, so you could do it all without the map. (I guess that would make them trans-regular expressions. Anyone got a better name?)


      -- All code is 100% tested and functional unless otherwise noted.
        Is "I'm pretty sure perl's flavor of regular expressions are turing complete" a challenge? :)