我使用这个脚本在Apache 2的一个管道日志设置:管道的Perl脚本日志仅运行,每2次点击
#!/usr/local/bin/perl
$|=1; # Use unbuffered output
while (<STDIN>)
{
if (<STDIN> =~ m/(.php|.html|.htm|.dhtml|.cpp|.h|.c|.txt|.pdf|.pl)$/)
{system("beep");}
}
我送的指令%F给它的文件名。正如你所看到的,它会检查所请求的文件名是否是内容文件。如果是这样,它会告诉系统发出嘟嘟声。但是,由于某些原因,服务器只会每两次发出一次内容页面的蜂鸣声。有谁知道为什么会发生这种情况?
我很确定它与我使用的方式<STDIN>
有关,因为这是我的第一个Perl脚本。
或者只是如果(/(.php|.html|.htm|.dhtml | .cpp | .h | .c | .txt | .pdf | .pl)$ /)perl假定您的意思是在$ _上进行匹配,如果没有给出。 – Copas 2009-05-21 00:36:22