Biotecs Geschrieben 8. November 2004 Teilen Geschrieben 8. November 2004 Hallo, ich bin gerade dabei zu versuchen mir ein kleines Mailscript zu schreiben, was mir Mails anzeigt. Nun habe ich zwei sehr merkwürdige Phänomene. Hier erstmal das Script: #!/usr/bin/perl -w use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard); use strict; use vars qw($destination_mail $file $mail $path $q $source_mail $subject @filelist @maillist); # Path to the maildirectory $path = "/home/benutzer/Maildir/new"; # open directory and read filenames opendir(DIR, $path); while($file = readdir(DIR)) { next if($file eq '.' || $file eq '..'); push(@filelist,$file); } closedir(DIR); # open and save mailfiles in array for (@filelist) { open MAIL, "<$path/$_" or die "Kann Mailfile $_ nicht öffnen: $!"; while (<MAIL>) { $mail .= $_; } close MAIL; push(@maillist,$mail); } # HTML Output print header; start_html('Mailtest'); if(@maillist) { for (@maillist) { ($source_mail) = /From:\s(.*)/; ($destination_mail) = /To:\s(.*)/; ($subject) = /Subject:\s(.*)/; } print "<b>Von: </b>$source_mail<br>\n", "<b>An: </b>$destination_mail<br>\n", "<b>Betreff: </b>$subject<br>\n", "<br><br>\n"; } else { print "Keine neuen Mails vorhanden!<br>"; } print end_html; Nun das 1. komische Ding: Wenn ich das Script so im Browser abrufe "funktioniert" es (also nicht korrekt aber das siehe 2. Problem). Wenn ich allerdings statt perl -w nur perl mache, dann bekomme ich im Browser nen Internal Error und auf der Konsole sagt er mir ..:Command not found. Ich habe solch ein Problem noch nie gehabt, zumal andere Scripte ganz normal nur mir #!/usr/bin/perl ja auch laufen. Hat jemand eine Idee woran das liegen kann? Das 2. komische Ding: Wenn ich die CGI Sachen wie header, start_html usw. aus dem Script entferne (weil mit ihnen ja immer: (offline mode: enter name=value pairs on standard input) auf der Konsole kommt) und auf der Konsole starte, dann funktioniert es einwandfrei. Es stehen also in Felder "Von.." usw. die richtigen Sachen und er hat damit die Mail auch eingelesen. Wenn ich es aber im Browser aufrufe geht er in den elsezweig und zeigt mir an "Keine neuen Mails vorhanden!", obwohl ja nachweislich welche da sind. Er dreht es irgendwie genau um. Woran kann das liegen? Ich bin für jeglichen Tip dankbar (auch Anregungen, wie ich es einfacher oder besser programmieren kann nehme ich gern an!)! mfg Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Biotecs Geschrieben 8. November 2004 Autor Teilen Geschrieben 8. November 2004 Das Problem mit dem perl und dem perl -w hat sich erledigt. Leider hat das FTP Programm scheinbar falsch übertragen und die ganzen DOS ^M an jede Zeile gehängt. Damit kam perl dann scheinbar nicht mehr klar. Nun funktioniert es auch mit #!/usr/bin/perl. Das Problem mit den ansyncronen Ausgaben besteht aber weiterhin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.