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



#!/COMMUNITY

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




11.02.2012 / 17:06

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


BeitragHilfe open2 funktioniert nicht wirklich ?
Seitenanfang
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

Beitragre: Hilfe open2 funktioniert nicht wirklich ?
Seitenanfang
Ich kann mir nicht vorstellen dass du keine Fehlermeldungen bekommst, immerhin ist diese Zeile

print IN = "\ndir\n\n";

syntaktisch voellig inkorrekt. Das Gleichheitszeichen hat nichts zu suchen.
Das waere eine Zuweisung an eine Konstante und das sollte einen fatalen Fehler bringen.

Falls du das nicht schon tust solltest du unbedingt auch


use strict;
use warnings;

verwenden.

Wenn du das erledigt hast und es immer noch nicht funktioniert sehen wir weiter :)

Datum: 03.01.2006-17:15

Beitragre: Hilfe open2 funktioniert nicht wirklich ?
Seitenanfang
Hi,

also das war ein kleiner Fehler ??
Aber es funkt immernoch nicht.. es gibt mir nichts aus..

Es gibt mir auch keine Fehlermeldungen aus ??

Ich benutze use strict; und use warnings habe ich anders benutzt als ich das skript aufgerufen habe.

perl -w Skript.pl

Aber schauen wir mal weiter ....

Aber trotzdem

Danke

Datum: 04.01.2006-10:09

-






-
-