Thread Expect / STDOUT: STDOUT des gestarteten Prozesses lesen
(2 answers)
Opened by docsnyder at 2006-06-06 15:20
@esskar
Ja, natürlich kenne ich backticks (das wäre ja einfach), aber mit Expect startet man einen Prozess per Expect-API. Backticks alleine genügen nicht, da ich mit Expect einen Dialog (per STDIN/STDOUT des gestarteten Prozesses) handeln muss. Das sieht etwa so aus (<...> ist natürlich nicht PERL-Syntax, sondern bezeichnet einen Regex (<PATTERN>) bzw. einen String (<RESPONSE>)): Code: (dl
)
1 $exp->raw_pty(1); So, und bei dem Versuch, das Problem näher zu erklären, bin ich auf die Lösung gekommen: Da ich zur Erkennung der Ausgaben des Prozesses (auf die ich reagieren will, einen Regex angebe, frage ich nach dem entsprechenden Code: (dl
)
$exp->expect(10000, [ <PATTERN> => sub { $_[0]->send(<RESPONSE>); } ]); einfach $1 ab, der dann den Match enthält. Danke also für Deine Antwort, denn nur dadurch musste ich das Problem näher spezifizieren und kam zur Lösung. Cheers, Doc |