我使用這個腳本在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