perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 27
Click for quality!




11.02.2012 / 20:36

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragPipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Hallo zusammen!

Ich schreibe gerade an einem Script, mit dem man Dateien verschluesseln kann (gpg). Jetzt moechte ich aber, dass der Benutzer die Passphrase nicht zur Laufzeit eingeben muss, sondern die gleich am Anfang als Option mit uebergeben werden kann. Das funktioniert so weit auch. Allerdings weiss ich nicht, wie ich die Meldungen von gpg in eine Variable umleiten kann (z.B. wenn die Passphrase falsch ist). Hier ein Stueckchen meines Codes, waere super, wenn mir jemand weiterhelfen koennte.


open (DATO, "|gpg --decrypt --passphrase-fd 0 --no-tty $verschl_datei >$entschl_datei") || die "Unable to open file $edatei: $!";
print DATO "$passphrase";
close (DATO);

Danke schonmal im Voraus :)
Alexandra

Datum: 03.08.2005-12:53

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Schau Dir mal IPC::Open2 und IPC::Open3 an. Ist Standard, Doku findest Du auch auf http://search.cpan.org

Datum: 03.08.2005-14:30

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Hi,

ich möchte mich Renee anschließen. Mit ErrorHandling "IPC::Open3".

Arbeitest Du unter Unix/Linux dann hilft auch der Befehl perldoc.


[me@host:/work]$ perlodoc IPC::Open3

-uw

Datum: 04.08.2005-00:57

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Hallo ihr!

Ich hab noch eine Loesung gefunden. Ich ueberpruefe nach close die Standartvariable $? auf ihren Inhalt. Ist die Entschluesselung fehlgeschlagen hat sie den Wert 512, wenn alles okay ist den Wert 0.

Vielen Dank nochmal :)
Alexandra

Datum: 04.08.2005-08:36

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Hi,

bist Du sicher dass Dir das ausreicht?

Wenn Du das Problem auf diese Art und Weise lösen willst, dann solltest Du Dir die ExitStati besorgen. Der Wert 512 zeigt mir eindeutig dass gpg davon eine ganz Reihe erzeugen kann.

Nehmen wir nur einmal an, der gpgExitStatus sei 12 und Du prüfst nur auf 512. Boing, dann meldet Dein Skript keinen Fehler, obwohl einer aufgetreten ist.

-uw

Datum: 04.08.2005-12:26

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
Gruess Dich,

mir reicht das aus, da ich nicht "== 512" abfrage, sondern "!= 0". Das heisst also, mein Script reagiert auf jeden Fehlercode, der von gpg erzeugt wird.

Oder hab ich noch was uebersehen? Bin auf jeden Fall dankbar fuer Tipps :)

Alexandra

Datum: 04.08.2005-14:53

Beitragre: Pipe zum gleichzeitigen lesen und schreiben?
Seitenanfang
OK,

dann habe ich Dich missverstanden.

Mir persönlich wäre das zu wenig. Manchmal erzeugen Programme ja auch durch falsche Handhabung Fehler. Wenn beispielsweise Optionen angegeben werden, die zusammen nicht verwendet werden können. Aber die waren in Deinem Falle ja eh' vorgegeben, weil Du sie hard codest, sodass da gar keiner dran herumschrauben kann.

-uw

Datum: 04.08.2005-22:18

-






-
-