Perlskript zum durchsuchen einer TXT

ronaldo84

Erfahrenes Mitglied
Hallo.
Ich habe ein Problem und zwar möchte ich mit folgendem Skript eine Textdatei durchsuche. Den Code habe ich aus einem Tutorial. Leider funktioniert er nicht. Wenn ich es im CGI-Bereich meines Webserver aufrufe kommt der Fehler:
The server encountered an internal error or misconfiguration and was unable to complete your request.
Ich habe gelesen das dieser häufig auftritt wenn die Pfade oder die Zugriffsrechte nicht stimmen (Unix Webserver). Aber alle Pfade sind richtig und die Dateien habe die Rechte Chmod775, die Verzeichnisse ebenfalls. Nun habe ich mir mal die Testversion des Perlbuilder rutnegeladen, da dieser ja einen Debugger hat. Da kommt in der Zeile # 9
die Fehlermeldung:
Can't find string terminator "AbschnittEnde" anywhere before EOF at script line 9 .
Darüber habe ich gelesen das nach dem EOT kein weiteres Zeichen also auch kein Leerzeichen sein darf. Das habe ich auch so gemacht. Trotzdem klappt es nicht Weiß jemand warum?
P.S. Falls es hilft. Das Tutorial ist aus dem MS Office FrontPage 2003 Handbuch.

Hier ist der Code


Code:
 #! /usr/bin/perl
use strict;
use warnings;
print "Content-type: text/html\n\n";
read(STDIN, $eingabestrom, $ENV{'CONTENT_LENGTH'});
# Erzeugen einer Tabelle
print <<AbschnittEnde;
<p><font face="Arial Rounded MT Bold" size="3">
Ihre Ergebnisse:
</font></p>
<div align ="center">
<center>
<table border ="1" cellpadding="1" cellspacing="1" width="100%" bordercolor="#000000">
<tr>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Artikelnummer</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Bezeichnung</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Warengruppe</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Einheit</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Hersteller</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">VK Euro</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Intrastatnr.</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">URL</font></td>
<td width="11%"><font face="Arial Rounded MT Bold" size="3">Herstellernummer</font></td>
</tr>
AbschnittEnde
; 
$feldinhat =~ tr/+/ /;
$feldinhalt =~ s/%([a-fA-F0-9][a-fA-F0-9)]/pack("C", hex($1))/eg;
($feld1, $feld2) = split(/&/, $eingabestrom);
($feldname, $feldinhalt) = split(/=/, $feld1);
 
if ($feldeninhalt eq""){
print "\n\n</table></center></div><h2>Ihre Suche führte zu keinem Ergebnis.</h2>";
print "</body></html>";
}
else
{
open(INF, "listewin.txt");
chomp(@L2) = <INF>;
close<INF>;
}
foreach $zeile (@L2){
$position = index(lc $zeile, lc $feldinhalt);
if ($position !=-1) {
($Artikelnummer, $Bezeichnung, $Warengruppe, $Einheit, $Hersteller, $VK Euro, $Intrastatnr., $URL, $Herstellernummer) = split (/;/, $zeile); 
print "<tr>";
print '<td width="11%"><font face="Arial Rounded MT Bold"" size="3">';
print $Artikelnummer;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $Bezeichnung;
print "</font></td>";
print '<td width="11%">'<font face="Arial Rounded MT Bold" size="3">;
print $Warengruppe;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $Einheit;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $Hersteller;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $VK Euro;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $Intrastatnr.;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $URL;
print "</font></td>";
print '<td width="11%"><font face="Arial Rounded MT Bold" size="3">';
print $Herstellernummer;
print "</font></td>";
print OUTF "</tr>";
	}
}
print "</table></center></div></body></html>";
}
 

Neue Beiträge

Zurück