Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche ich noch ein Perl Modul?
Hallo zusammen,
ich bin gerade dabei einen Webserver (interner Abteilungs Webserver, nichts großes) auf eine neue Maschine umzuziehen. Umgezogen wird von SuSE 6.3 -> Debian 3.0.
Die Seite enthält einige Perlscripte, welche z.B. Mails mit Informationen an Kunden versenden, wenn wir das wollen. Und hier liegt der Hund begraben:
Ich habe ein HTML Formular, in welchem ich die Informationen für den Kunden zusammenstelle, und das Perlscript versendet es dann per Mail an den Kunden.
So weit, so gut. Wenn ich auf der Formularseite auf "absenden" drücke erhalte ich einen Internal Server Error. Ein Kollege von mir, der sich mit Perl auskennt, meinte, der Fehler liegt am Perlscript und gab mit den Tipp "perl -c script.pl"
Und das ist die Ausgabe:
Can't locate Mail/Sendmail.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1
/usr/lib/perl5 /usr/share/perl5
/usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at lic_dat.pl line 8.
BEGIN failed--compilation aborted at lic_dat.pl line 8.
Die Zeile 8 enthält folgendes:
use Mail::Sendmail 0.75; # doesn't work with v. 0.74!
So, nun weiß ich nicht mehr weiter, da ich von Perl absolut keine Ahnung habe. Kann mir da evtl. jemand weiter helfen?
Danke schon mal im Voraus!
Da fehlt wohl ein Modul. In Debian ist Perl anders als bei SuSE in viele kleine Pakete aufgeteilt. Schau mal ob Du mit apt-cache search ein paar Perl Pakete findest und installiere das/die Paket(e) dann.
Viel Glück,
Tobias
# perl -MCPAN -e shell
Dann einfach automatische Erstellung waehlen.
Damit wird dann automatisch das Config-Script fuer CPAN erstellt. Danach bekommst du eine Perl-Shell, dort "einfach" in deinem Fall
> install Mail::Sendmail
dann wird das ganze von einem CPAN Server geholt, kompiliert und installiert. Auch werden die "meisten" Abhaengigkeiten aufgeloest, das heist falls ein Paket noch ein anderes noch braucht.
Dies sollte Plattform unabhaengig sein, jedenfall *funct* es unter OpenBSD, SuSE, Windows und Solaris ;)
T;o)Mes
apt-search perl liefert 766 pakete :D, nach dem ich mich da durchgegrept habe fand ich
libmail-sendmail-perl
und habe es installiert und den Apache neu gestartet -> geht leider immer noch nicht...
Situation jetzt:
ths-lx:/var/www/cgi-bin# perl -c lic_dat.pl
Can't locate CGI/Lite.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at lic_dat.pl line 10.
BEGIN failed--compilation aborted at lic_dat.pl line 10.
ths-lx:/var/www/cgi-bin# dpkg -l | grep lite
ii libmime-lite-p 2.117-1 Perl5 module for convenient generation of MI
ii libsoap-lite-p 0.55-1 Perl5 modules for client and server side SOA
ii nowebm 2.9a-7.1 A WEB-like literate-programming tool.
ths-lx:/var/www/cgi-bin#
Zeile 10 in lic_dat.pl sieht so aus:
use CGI::Lite;
Was fehlt jetzt noch? Zur Auswahl habe ich noch folgendes:
ths-lx:/var/www/cgi-bin# apt-cache search lite | grep perl
libipc-sharelite-perl - Perl module that provides a simple interface to shared memory
liblog-loglite-perl - Perl module that facilitates lightweight logging.
libmime-lite-perl - Perl5 module for convenient generation of MIME messages
libole-storage-lite-perl - Perl5 module with Simple Class for OLE document interface.
libparse-recdescent-perl - Generates recursive-descent parsers in Perl
libpcsc-perl - Perl interface to the PC/SC smart card library
libsoap-lite-perl - Perl5 modules for client and server side SOAP implementation
ths-lx:/var/www/cgi-bin#
Für Hilfe dankbar...
CGI::Lite ist scheinbar nicht im Debian Softwarearchiv (http://www.de.debian.org/distrib/packages#search_contents) drin ... hmmm ...
Musst doch auf tomes Variante ausweichen. Internetverbindung anwerfen und ...
perl -MCPAN -e "install 'CGI::Lite'"
Gruß
Tobias
Original geschrieben von fork
Musst doch auf tomes Variante ausweichen. Internetverbindung anwerfen und ...
perl -MCPAN -e "install 'CGI::Lite'"
Das hat funktioniert:
ths-lx:/var/www/cgi-bin# perl -c lic_dat.pl
lic_dat.pl syntax OK
ths-lx:/var/www/cgi-bin#
Hierfür erstmal ein riesiges Danke! ;) Jetzt kommt aber das aber:
Mein Apache liefert mir immer noch einen 500'er Fehler:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Im Apache error.log steht das folgende:
Use of uninitialized value in chomp at /usr/share/perl5/Mail/Sendmail.pm line 310, <S> chunk 1.
Use of uninitialized value in pattern match (m//) at /usr/share/perl5/Mail/Sendmail.pm line 311, <S> chunk 1.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Mail/Sendmail.pm line 311, <S> chunk 1.
HELO error ()[Thu Dec 19 10:42:51 2002] [error] [client 15.168.200.11] malformed header from script. Bad header=retrying in 1 seconds...: /var/www/cgi-bin/lic_dat.pl
Was heißt das jetzt schon wieder? Sorry für diese wahrscheinlich absolut blöden Fragen, aber wie gesagt ich habe absolut keinen Schimmer von Perl...
Für Hinweise wieder Dankbar!
Habe das Problem mittlerweile selber lösen können:
Ich musste noch eine Route setzen, da der Mailserver, welcher die Mails versenden soll, in einem anderen Netz liegt.
Danke nochmals für die Hilfe!
Na dann steht einem unbeschwerten Weihnachtsfest ja nichts mehr im Weg.
Original geschrieben von fork
Na dann steht einem unbeschwerten Weihnachtsfest ja nichts mehr im Weg.
Nein, nicht wirklich. Obwohl noch eine Menge Arbeit mit dem Teil wartet, da der Intranet Auftritt gleichzeitig in ein neues Outfit gepresst werden muß, und das ist mächtig viel Arbeit.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.