Moin,
$ENV{PGPPATH} = $pgp_dir;
print "Content-type: text/html\n\n";
print "<html><head><title>Test</title></head><body><tt>\n";
chdir($pgp_dir);
my $pgp_return =$pgp\_app -eat $pgp\_file $pgp\_id
;
print "$pgp_return
zum einen, wie schon Florian sagte, $ENV{"PGPPATH"} = ... probieren.
Dann ist mir nicht ganz klar, warum Du PGP zum einen ueber das
Environment mitteilen willst, in welchem Pfad die Daten liegen
und zum anderen mit chdir($pgp_dir) in eben dieses Verzeichnis
wechseln willst. Eine von beiden Methoden müßte doch ausreichen.
Ich rate jetzt einfach mal, daß sich das ganze so abspielt:
- Der Befehl $ENV{PGPPATH} = ... schlägt fehl
- chdir($pgp_dir) veranlaßt zwar den Perl-Interpreter,
zukünftig Dateien unterhalb
$pgp_path zu finden, aber ...
- ... dies muß nicht auch für eine neue Shellumgebung gelten,
welche durch die "schrägen" Anführungszeichen (...
)
im nächsten Aufruf geöffnet wird.
Versuch mal, eine Batch-Datei nach folgendem Muster einzusetzen:
@echo off
cd %1
pgp -eat %2 %3
Und dann im Perl-Skript:
my $pgp_app = "...\invoke_pgp.bat";
...
...
my $pgp_return = $pgp\_app $pgp\_dir $pgp\_file $pgp\_id
;
Auf diese Weise ist sichergestellt, daß der change-dir Befehl
und der PGP-Aufruf in der selben Shell-Umgebung ausgeführt werden.
Bis dannundwann
Andreas