module->new ohne use module?

19/03/2009 - 14:56 von edgue | Report spam
Hallo,

ich habe Skript geschrieben mit dem ich zwei Aufgaben erledige:

1) rufe unsere build utils auf, um ein "build target" bauen zu lassen
(inkl Auswertung von Fehlermeldungen, etc)

2) wenn build OK ... dann mach ein scp der gebauten Datei nach
irgendwo
("irgendwo" ist standardisiert, d. h. ich benutze hier
Net::SCP::Expect um mir das
Tippen des Passworts zu sparen)

Jetzt fragen einige Kollegen, die das Skript gerne für Aufgabe "1)"
auch benutzen wollen ...
aber die wollen nicht unbedingt "2)" machen und vor allem wollen sie
nicht unbedingt
Net::SCP::Expect installieren.

Ich suche jetzt nach der Möglichkeit, es diesen Leuten recht zu
machen.

Erster Ansatz:

ich habe aus dem "use Net::SCP::Expect" ein do "Net ..." gemacht
(in der Hoffnung das wàre das Richtige) ... und in dem Block in
welchem
Net::SCP::Expect->new() aufgerufen wird ... einmal eval("use
Net::SCP::..:").

Das funktioniert wohl für Leute, die den scp Aufruf nicht wollen ...
aber für mich knallt es jetzt:

Can't locate object method "new" via package "Net::SCP::Expect"
(perhaps you forgot to load "Net::SCP::Expect"?) at ...

Also - wie kann ich es anstellen, dass das "use module" nur bedingt
ausgeführt wird?
 

Lesen sie die antworten

#1 Frank Seitz
19/03/2009 - 15:03 | Warnen spam
edgue wrote:

Also - wie kann ich es anstellen, dass das "use module" nur bedingt
ausgeführt wird?



eval "use module";
if ($@) {
# hat nicht geklappt
}
# hat geklappt

Grüße
Frank
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Ähnliche fragen