N
Narrator
So ich peils nich!
Hab jez bestimmt 3h daran gesessen, und inziwischen funktioniert er sogar. Die File wird richtig geupdated. Jedoch bekomm ich immer nur so eine verdammte Meldung obwohl ich mit print HTML-Code ausgebe. Kann mir das einer erklären und mir ne Lösung geben? Die Meldung is ganz unten.
Kann mir dann vielleicht noch jemand sagen, wie man mit Script ne bestimmte URL öffnet?
Hier der Perlscript
#!c:/perl/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $filename = "/apache/htdocs/pulizien/current.html";
my $cgi = new CGI;
my $Partei = $cgi->param( "Partei" );
#Text dekodieren
$Partei =~ tr/+/ /;
$Partei =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Partei =~ s/</</g;
$Partei =~ s/>/>/g;
#muss noch gmacht werden
my $LogoAlt="";
my $LogoSrc="";
my $Text = $cgi->param( "Publication" );
#Text dekodieren
$Text =~ tr/+/ /;
$Text =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Text =~ s/</</g;
$Text =~ s/>/>/g;
#Datei öffnen und Zeilen einlesen
open( FILE , "< $filename") or die "Fehler beim Öffnen der Datei: $!\n";
my @Zeilen=<FILE>;
close( FILE );
my $c=1;
my $c2=0;
my @NeueZeilen=();
my $number=0;
#Liest Anzahl an Veröffentlichungen
foreach(@Zeilen){
if (/<!-publication-->/) {
$c++;
}
}
foreach(@Zeilen){
if(/<!-number-->/) {
#Trägt neue Nummern ein
$c2++;
push( @NeueZeilen , $_ );
push( @NeueZeilen , "$c2/$c\n" );
$number=1;
}
elsif(/<!-coming soon-->/) {
#neuer Eintrag
$c2++;
push( @NeueZeilen , "<!-publication-->\n" );
push( @NeueZeilen , "<table border=\"3px\"><tr><td>\n" );
push( @NeueZeilen , "<span style=\"color: RED;\">\n" );
push( @NeueZeilen , "<!-number-->\n" );
push( @NeueZeilen , "$c2/$c\n" );
push( @NeueZeilen , "</span><br>\n" );
push( @NeueZeilen , "<!-logo-->\n" );
push( @NeueZeilen , "<img alt=\"$LogoAlt\" src=\"$LogoSrc\"></img><br>\n" );
push( @NeueZeilen , "<!-text-->\n" );
push( @NeueZeilen , "$Text\n" );
push( @NeueZeilen , "</td></tr></table>\n" );
push( @NeueZeilen , "\n" );
push( @NeueZeilen , "<!-coming soon-->\n");
} elsif( $number==0) {
push( @NeueZeilen , $_ );
} else {
$number=0;
}
}
#print @NeueZeilen;
open( FILE , "> $filename") or die "Fehler beim Öffnen der Datei: $!\n";
foreach (@NeueZeilen){
print FILE $_;
print $_;
}
close( FILE );
Hier die Meldung:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
--------------------------------------------------------------------------------
Apache/1.3.23 Server at localhost Port 80
Hab jez bestimmt 3h daran gesessen, und inziwischen funktioniert er sogar. Die File wird richtig geupdated. Jedoch bekomm ich immer nur so eine verdammte Meldung obwohl ich mit print HTML-Code ausgebe. Kann mir das einer erklären und mir ne Lösung geben? Die Meldung is ganz unten.
Kann mir dann vielleicht noch jemand sagen, wie man mit Script ne bestimmte URL öffnet?
Hier der Perlscript
#!c:/perl/bin/perl -w
use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
my $filename = "/apache/htdocs/pulizien/current.html";
my $cgi = new CGI;
my $Partei = $cgi->param( "Partei" );
#Text dekodieren
$Partei =~ tr/+/ /;
$Partei =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Partei =~ s/</</g;
$Partei =~ s/>/>/g;
#muss noch gmacht werden
my $LogoAlt="";
my $LogoSrc="";
my $Text = $cgi->param( "Publication" );
#Text dekodieren
$Text =~ tr/+/ /;
$Text =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$Text =~ s/</</g;
$Text =~ s/>/>/g;
#Datei öffnen und Zeilen einlesen
open( FILE , "< $filename") or die "Fehler beim Öffnen der Datei: $!\n";
my @Zeilen=<FILE>;
close( FILE );
my $c=1;
my $c2=0;
my @NeueZeilen=();
my $number=0;
#Liest Anzahl an Veröffentlichungen
foreach(@Zeilen){
if (/<!-publication-->/) {
$c++;
}
}
foreach(@Zeilen){
if(/<!-number-->/) {
#Trägt neue Nummern ein
$c2++;
push( @NeueZeilen , $_ );
push( @NeueZeilen , "$c2/$c\n" );
$number=1;
}
elsif(/<!-coming soon-->/) {
#neuer Eintrag
$c2++;
push( @NeueZeilen , "<!-publication-->\n" );
push( @NeueZeilen , "<table border=\"3px\"><tr><td>\n" );
push( @NeueZeilen , "<span style=\"color: RED;\">\n" );
push( @NeueZeilen , "<!-number-->\n" );
push( @NeueZeilen , "$c2/$c\n" );
push( @NeueZeilen , "</span><br>\n" );
push( @NeueZeilen , "<!-logo-->\n" );
push( @NeueZeilen , "<img alt=\"$LogoAlt\" src=\"$LogoSrc\"></img><br>\n" );
push( @NeueZeilen , "<!-text-->\n" );
push( @NeueZeilen , "$Text\n" );
push( @NeueZeilen , "</td></tr></table>\n" );
push( @NeueZeilen , "\n" );
push( @NeueZeilen , "<!-coming soon-->\n");
} elsif( $number==0) {
push( @NeueZeilen , $_ );
} else {
$number=0;
}
}
#print @NeueZeilen;
open( FILE , "> $filename") or die "Fehler beim Öffnen der Datei: $!\n";
foreach (@NeueZeilen){
print FILE $_;
print $_;
}
close( FILE );
Hier die Meldung:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
--------------------------------------------------------------------------------
Apache/1.3.23 Server at localhost Port 80