В скрипт параметры передаются следующим образом: script.pl?var1=value1&var2=value2 Для расшифровки этой строки вставь в скрипт строки:
Код:
# Get data from memory --------------------------------------------------------
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'}); }
else {
$bufer=$ENV{'QUERY_STRING'}; }
# Decode data -----------------------------------------------------------------
@pairs = split(/&/, $bufer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value; }
Потом находи значение параметра по его имени:
Код:
my $par1 = $FORM{var1};
Теперь у тебя есть имя файла. Открываешь его и записываешь содержимое в массив:
Код:
open (FILE, "$par1");
my @indata = <FILE>;
close (FILE);
После чего можешь обрабатывать массив. Если файл бинарный, то для считывания его содержимого необходимо использовать такой код:
Код:
my $fsize = -s "$par1";
open (FILE, "$par1");
binmode (FILE);
sysread (FILE, $indata, $fsize);
close (FILE);