AWS-Lambda
view release on metacpan or search on metacpan
examples/cgi/WwwCounter/wwwcount.cgi view on Meta::CPAN
$size = -s $g_gif_file;
open(IN, $g_gif_file);
binmode(IN);
binmode(STDOUT);
read(IN, $buf, $size);
print $buf;
close(IN);
}
}
#
# ããã¯ãå¾ã
#
sub doLock {
my($mtime);
if ($g_lock_flag) {
for (my $i = 1; $i <= 6; $i++) {
if (mkdir("$g_file_lock", 0755)) {
# ããã¯æåãæ¬¡ã®å¦çã¸ã
last;
} elsif ($i == 1) {
# 10å以ä¸å¤ãããã¯ãã¡ã¤ã«ã¯åé¤ããã
($mtime) = (stat($g_file_lock))[9];
if ($mtime < time() - 600) {
rmdir($g_file_lock);
}
} elsif ($i < 6) {
# ããã¯å¤±æã1ç§å¾
ã£ã¦åãã©ã¤ã
sleep(1);
} else {
# ä½åº¦ãã£ã¦ãããã¯å¤±æããããããã
exit(1);
}
}
}
# éä¸ã§çµäºãã¦ãããã¯ãã¡ã¤ã«ãæ®ããªãããã«ãã
sub sigexit { rmdir($g_file_lock); exit(0); }
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "sigexit";
}
#
# ããã¯ãéæ¾ãã
#
sub unlockLock {
if ($g_lock_flag) {
rmdir($g_file_lock);
}
}
#
# CGIã使ç¨ã§ããããã¹ããè¡ãã
#
sub test {
print "Content-type: text/html\n";
print "\n";
print "<!doctype html>\n";
print "<html>\n";
print "<head>\n";
print "<meta charset='utf-8'>\n";
print "<title>Test</title>\n";
print "</head>\n";
print "<body>\n";
print "<p>OK. CGIã¹ã¯ãªããã¯æ£å¸¸ã«åãã¦ãã¾ãã</p>\n";
if ($g_mailto ne "") {
if (! -f $g_sendmail) {
print "<p>ERROR: $g_sendmail ãåå¨ãã¾ããã</p>\n";
}
}
if (!-d $g_lock_dir) {
print "<p>ERROR: $g_lock_dir ãã©ã«ããããã¾ããã</p>\n";
}
if (-d $g_file_lock) {
print "<p>ERROR: $g_file_lock ãæ®ã£ã¦ãã¾ãã</p>\n";
}
if (! -r $g_file_count) {
print "<p>ERROR: $g_file_count ãåå¨ãã¾ããã</p>\n";
} elsif (! -w $g_file_count) {
print "<p>ERROR: $g_file_count ãæ¸ãè¾¼ã¿å¯è½ã§ã¯ããã¾ããã</p>\n";
}
if (! -r $g_file_date) {
print "<p>ERROR: $g_file_date ãåå¨ãã¾ããã</p>\n";
} elsif (! -w $g_file_date) {
print "<p>ERROR: $g_file_date ãæ¸ãè¾¼ã¿å¯è½ã§ã¯ããã¾ããã</p>\n";
}
if (! -r $g_file_access) {
print "<p>ERROR: $g_file_access ãåå¨ãã¾ããã</p>\n";
} elsif (! -w $g_file_access) {
print "<p>ERROR: $g_file_access ãæ¸ãè¾¼ã¿å¯è½ã§ã¯ããã¾ããã</p>\n";
}
if (($g_chdir ne "") && (! -d $g_chdir)) {
print "<p>ERROR: $g_chdir ãåå¨ãã¾ããã</p>\n";
}
print "</body>\n";
print "</html>\n";
}
( run in 1.364 second using v1.01-cache-2.11-cpan-39bf76dae61 )