2012-01-06 1 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

Все возможно. –

+2

Пожалуйста, не используйте этот ужасный старый код синтаксического анализа. CGI.pm был включен в Perl почти 15 лет. Нет причин не использовать функцию 'param'. –

+0

Что означает «добавить возможности регулярного выражения», когда вы говорите? – tadmc

ответ

1

Чтобы найти строки, которые заканчиваются ".cgi":

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

эта работа, чтобы получить файл с расширением .cgi, ваш ответ выше (используйте. *) Гибкий, чтобы заменить любое расширение. снова очень спасибо! – raindrop

Смежные вопросы