Primerno tak:
------ ----------------------------
#!/usr/bin/perl
$files="files.txt"; # zdes file s faylami
$your_server="ftp://coolserver.com"; # tvoy servak
$dir="home/ftp"; # catalog gde legat vse files
sub urldecode{
local($val)=@_;
$val=~s/\+/ /g;
$val=~s/%([0-9A-Ha-h]{2})/pack('C',hex($1))/ge;
return $val;
}
print "Content-Type: text/html; charset=windows-1251\n\n";
if($ENV{'REQUEST_METHOD'} eq 'GET')
{
$query=$ENV{'QUERY_STRING'};
}
elsif($ENV{'REQUEST_METHOD'} eq 'POST')
{
sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'});
}
if($query eq ''){
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>FILES SEARCH</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
print "<FORM>\n";
print "<TABLE>\n";
print "<TR>\n";
print "<TD>File search:</TD>\n";
print "<TD><INPUT name=\"filen\"> <INPUT type=\"submit\" name=\"subm\" value=\"Search\"></TD>\n";
print "</TR>\n";
print "</TABLE>\n";
print "</FORM>\n";
print "</BODY></HTML>\n";
}
else {
@formf=split(/&/,$query);
foreach(@formf){
if(/^filen=(.*)/){ $filen=&urldecode($1); }
}
if(!$filen)
{
print "<font color=\"red\">not found </font>";
exit(0);
}
open(F,"$files") || die "$!\n";
while(<F>)
{
chomp;
push(@masf,$_);
}
close(F);
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>SEARCH RESULT</TITLE>\n";
print "</HEAD>\n";
print "<BODY>";
$temp=0;
$filen=~s/^\s*//;
$filen=~s/\s*$//;
print "Search for: $filen <br>";
foreach $fis(@masf)
{
if($filen=~m/$fis/i)
{
print "<a href=\"$your_server/$dir/$fis\"> $your_server/$dir/$fis </a>","<br>";
$temp++;
}
}
unless($temp)
{
print "<font color=\"red\">not found </font>";
exit(0);
}
print "</BODY>\n";
print "</HTML>\n";
}
----------- ----------- ------------