Thread Variablenübergabe an Programm (4 answers)
Opened by tomi-w at 2006-10-05 19:33

tomi-w
 2006-10-05 19:33
#70507 #70507
User since
2006-05-12
11 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo,

ich habe das Tool mplex am Laufen (dieses Tool konvertiert Video- und Audiodateien zu einer MPEG-Datei um) und musste bisher immer den Befehl manuell auf der Konsole eingeben. Nun wollte ich mir das Leben mit einem Perl-Skript leichter machen und die Variablen nacheinander abfragen und der Befehlskette:
Code: (dl )
mplex -f 8 -o ziel.mpg quelle.m2v quelle.ac3 quelle.mp2

übergeben. Leider weiß ich nicht genau, wie ich die erfassten Variablen an den String übergeben kann. Hier mein Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl -w

$menue = <<HERE_MENUE;

mplex-Konvertierung v0.1 05.10.2006

mplex-Konvertierung starten <1>
beenden <2>

HERE_MENUE

$ziel = 0;
$z_video = 0;
$z_mp2 = 0;
$z_ac3 = 0;

do
{
print $menue;
chomp ($eingabe = <STDIN>);

WECHSEL:

{
$eingabe == 1 && do {print "\n\n**** Willkommen beim mplex-Perl-Skript ****\n";
print "\nDieses Skript fragt nacheinander die einzelnen\n";
print "mplex-Befehle ab. Bitte diese eingeben und mit ENTER\n";
print "jeweils abschliessen!\n";

print "Bitte geben Sie den Zielnamen ein:\n";
chomp ($ziel = <STDIN>);
print "Bitte geben Sie den Quellnamen inkl. Pfad der Videodatei (m2v) an:\n";
chomp ($z_video = <STDIN>);
print "Bitte geben Sie den Quellnamen inkl. Pfad der Audiodatei (mp2) an:\n";
chomp ($z_mp2 = <STDIN>);
print "Bitte geben Sie den Quellnamen inkl. Pfad der Audiodatei (ac2) an:\n";
chomp ($z_ac3 = <STDIN>);
print "*** Ihre Eingaben sind abgeschlossen ***\n";
print "Zur Kontrolle hier nocheinmal Ihre Angaben:\n";
print "Sie wollen die Datei $ziel aus folgenden Dateien erzeugen:\n";
print "Videodatei: $z_video\n";
print "MP2-Audio: $z_mp2\n";
print "AC3-Audio: $z_ac3\n";
print "mplex -f 8 -o $ziel $z_m2v $z_ac3 $z_mp2\n";
last WECHSEL;};

$eingabe == 2 && do {print "Skript beenden.\n";
last WECHSEL;};
}
} while ($eingabe != 2);

Hat jemand eine Idee? Ich denke, dass das nichts außergwöhnliches ist, aber ich habe weit und breit keine Infos gefunden :( Wenn ich das Skript erfolgreich zum Laufen bekommen habe, würde ich es gern per TK als GUI umschreiben. Leider gibt es eine solche GUI nur für Windows in VB6. Aber als Perl könnte es jeder nutzen :)


Danke und Gruß
Thomas

View full thread Variablenübergabe an Programm