feststellen ob Modul vorhanden ist
steckl
- perl
Hi,
ist es moeglich in Perl festzustellen ob ein Modul installiert ist.
Grund:
Ich habe ein Script geschrieben, das von mehreren leuten verwendet wird in dem ich ein Perl-Modul verwende, das standardmaessig nicht installiert ist (Spreadsheet::ParseExcel). Wenn das Modul nicht verfuegbar ist moechte ich eine Meldung ausgeben, dass man sich auf einem anderen Rechner einloggen soll.
Hier habe ich eine art try()-catch() gefunden, was an sich schon funktioniert. Aber wenn ich es abaendere und in das eval "use unbekanntesModul;" schreibe wird sofort abgebrochen, ohne dass noch der catch-Zweig durchlaufen wird.
Hat jemand eine Idee, wie ich die Anwender darauf aufmerksam machen kann, dass sie sich wo anders einloggen sollen?
mfG,
steckl
ist es moeglich in Perl festzustellen ob ein Modul installiert ist.
Mal so runtergetippt:
my $found = 0;
foreach( @INC ) {
if(-e $_.'/Spreadsheet/ParseExcel.pm') {
$found = 1;
last;
}
}
if($found) {
require Spreadsheet::ParseExcel;
import Spreadsheet::ParseExcel @LIST;
print 'Spreadsheet::ParseExcel loaded';
}
else {
print 'Not found';
}
Ich meine, auch irgendwo in der Perldoku etwas innerhalb eines BEGIN-Blockes gefunden zu haben, aber ich weiß nicht mehr wo :(
Siechfred
Hi,
Mal so runtergetippt
Danke, klappt optimal fuer meinen Anwendungsfall :-)
Ich meine, auch irgendwo in der Perldoku etwas innerhalb eines BEGIN-Blockes gefunden zu haben, aber ich weiß nicht mehr wo :(
Der Code oben reicht mir ja leicht.
mfG,
steckl