PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl und Pipes?


PatkIllA
2004-12-20, 22:22:06
Ich möchte die Ausgabe eines Programmes, das ich per system ausführe als Eingabe eines anderen verwenden.

D:\Media\ape2ogg\MAC.exe F:\download\a.ape - -d | D:\Media\Ogg\oggenc.exe -q8 - -o F:\download\a.ogg
das gebe ich in der Kommandzeile ein.
Wenn ich das einfach per system ausführe funktioniert die Umleitung aber nicht und WAV Datei wird in der Konsole ausgegeben.
Aus den Anleitungen im Netz werde ich als Perl-Newbie irgendwie nicht schlau...

M@tes
2004-12-20, 22:55:21
Kenne mich mit Pipes selber nciht aus, aber was ich weiss, ist:
Mit Perl kann man Programme starten, aber auch deren Ausgabe abfangen.
Ich kann ja morgen mal gucken, ob ich da was finde.
Hab auf die schnelle folgenden Schnipsel gefunden:

use Win32;
my $command = "c:\\windows\\notepad.exe";
my $args = "notepad.exe c:\\tempfile";
Win32::Spawn($command, $args, $pid) || &error();
sub error { my $errmsg = Win32::FormatMessage(Win32::GetLastError()); die "Fehler: $errmsg\n";}

Müsstest dich da mal einwenig schlau machen. Hab es mal gespeichert gehabt, aber nciht weiter angeguckt.