#!/usr/local/bin/perl $datafile = "account.txt"; $max = 5; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'}); } else { $formdata = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$formdata); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } $a = $FORM{'a'}; if($a == 1) { &first; &only; } else{ &only; } sub first{ open(DATA,"$datafile"); flock(DATA,2); $number = ; flock(DATA,8); close(DATA); $number++; open(DATA,">$datafile"); flock(DATA,2); print DATA $number; flock(DATA,8); close(DATA); } sub only{ open(DATA,"$datafile"); flock(DATA,2); $number = ; flock(DATA,8); close(DATA); @totalCounter = &split_number($number); $a--; $img = "number/$totalCounter[$a].gif"; open(IMG,"$img"); @data_gif = stat($img); $byte = $data_gif[7]; print "Content-type: image/gif\n"; print "Content-length: $byte\n\n"; print ; close(IMG); } sub split_number { local($n) = @_; local(@n) = split(//,$n); while ($#n + 1 < $max) { @n = (0,@n); } @n; }