in reply to One-Line Web Counter

Golfing!! I'm pretty sure this would also work:

perl -MCGI -e 'print CGI->new->header;open(F,"c");($c)=<F>;print ++$c; +close F;open(N,">c");print N $c;'

Zenon Zabinski | zdog |

Replies are listed 'Best First'.
(jj808) Re: (zdog) Re: One-Line Web Counter
by jj808 (Hermit) on Sep 09, 2001 at 16:36 UTC
    More golf...

    Do echo "0" >c first.

    perl -MCGI -i -e 'while(<>){s!(\d+)!$t=$1+1!e;print}print CGI->new->h +eader,$t' c


    Update: Removed useless semicolon.

    Update 2: Even smaller now!

      Well leaving aside locking issues, and the point that the number 2 by itself is not exactly valid html, here is the above made even shorter.
      perl -MCGI -pi -e 'END{print&CGI::header,$t}s/\d+/$t=$&+1/e' c
      And, of course, there is always a shorter way:
      perl -MCGI -pi -e'END{print&CGI::header,$t}$t=++$_' c