2012-01-06 62 views
-1

我有這個簡單的CGI腳本工作得很好,但我想添加正則表達式功能。那可能嗎?如果是的話,我需要補充。謝謝。簡單的CGI搜索添加正則表達式功能

#!/usr/local/bin/perl 
    read(STDIN, $buffer,$ENV{'CONTENT_LENGTH'}); 
    @pairs = split(/&/, $buffer); 
    foreach $pair (@pairs) { 
     ($key, $value) = split(/=/, $pair); 
     foreach $pair (@pairs) { 
      ($key, $value) = split(/=/, $pair); 
      $value =~ tr/+/ /; 
      $value =~ s/%([a-zA-Z0-9][a-zA-Z0-9])/pack("C", hex($1))/eg; 
      $formdata{$key}.= "$value"; 
     } 
    } 
    $search = $formdata{'search'}; 
    open(INFO, "/test/myfile"); 
    @array=<INFO>; 
    close (INFO); 

...代碼截斷

+0

一切皆有可能。 – 2012-01-06 16:59:52

+2

請不要使用那個可怕的舊破碎表格解析代碼。 CGI.pm已包含在Perl中近15年。沒有理由不使用它的'param'函數。 – 2012-01-06 17:17:54

+0

「添加正則表達式功能」是什麼意思? – tadmc 2012-01-06 18:02:32

回答

1

要查找與 「的CGI」 結尾的行:

my @array = grep /\.cgi$/, <INFO>; 
+0

這個工作得到擴展名爲.cgi的文件,上面的答案(使用。*)可以靈活地替換任何擴展名。再次非常感謝! – raindrop 2012-01-06 20:48:12