in reply to Perl Golf Proposal

Keeping in mind that this golf challenge asks for a program rather than a subroutine... :)

48 characters:

#!perl $m=pop;for$"(pop..$m){$_="@ARGV";-e||warn"$_\n"}
example usage: perl bar .jpg 0000 0050

Hurrah for the range operator and magical auto-increment!

As best I can figure it, the only way to accurately accomplish the bonus (checking for a comparison string that's too big) is to check all the files in the directory. Otherwise there could be one file in there with a unique part of the right length.

Replies are listed 'Best First'.
Re: Perl Golf Proposal
by cLive ;-) (Prior) on May 23, 2001 at 07:01 UTC
    You forgot the input can be (eg) 50 or 0050 and that the filenames contain other text, but otherwise, nice idea :) ++

    cLive ;-)

    PS, if you look at mine, it is a prog, not a sub :)) I just began with the sub so i didn't have to explicitly call it with & or () later on when assigning $c & $d.

      I plead innocent on both counts.

      I wrote the program so it would work for any incrementing filenames, such as:

      • bar0.jpg, bar1.jpg, ..., bar50.jpg
      • bar000.jpg, bar001.jpg, ..., bar050.jpg
      • or even: barA.jpg, barB.jpg, ..., barZ.jpg
        (although that one's just a fortunate coincidence of using the range operator :)
      I guess that may not be what sharle intended, but it makes the program so much more useful!

      As for the other parts of the filename, those are the first and second arguments to the program.

      P.S. Heh, yours is a program. Very sneaky of you! :)