Hallo zusammen, also das ist das skript, das nur halb funktioniert aber ich nicht mehr weiter komme bzw. auch nicht weis wo es hängt..
Danke für jede hilfe
use IPC::Open2;
my $cmd = "dtrshell.bat";
print "$cmd\n";
open2( *OUT, *IN, $cmd);
my $line;
print "A\n";
print IN "dir\n\n"; <-----1
while (<OUT>) {
chomp;
$line = $_;
if ( $line =~ /\>\s*$/ )
{print "out\n";last;}
}
print "C\n";
print IN = "\ndir\n\n"; <-----2
while (<OUT>) {
chomp;
$line = $_;
if ( $line =~ /\>\s*$/ )
{print "out\n";last;}
}
close IN;
close OUT;
Das skript funktioniert und fuhrt das erste Kommando bzw. print IN "dir\n\n"; <-----1 aus und liefert mir die Ausgabe, aber beim zweiten print IN = "\ndir\n\n"; <-----2 bleibt er stehen und macht nichts mehr ... ein deadlock ?? geht gar nichts mehr stundenlang am selben ort.. ??
Also mit dem Skript will ich eine Shell öffnen( mache ich auch ), und dannach input geben und so den output erhalten.. Der input sind hier in diesem Bsp. nur 2 aber werden mehr ?? Und am schluss alles beenden.. ??
Kann mir jemand weiterhelfen .. bzw. gibt es noch ausser open2 noch was anderes .. ??
Ich bin an meiner Grenze angekommen und weis nicht mehr weiter.. aber brauche eine Lösung und bin für jede hilfe sehr dankbar..
Mit freundlichen Grüßen
eco77
Datum: 02.01.2006-18:02
