2 Stimmen

Hilfe bei Perl Expect

Ich bin ein Neuling in der Perl-Programmierung. Derzeit habe ich die Aufgabe, einen Code zu verstehen.

Ich muss den Perl Expect Code verstehen und in diesem Stück Code gibt es eine Zeile, die unten erwähnt wird:

my $exp = new Expect;

$exp->spawn("su");

Meinem Verständnis nach besagt Zeile 1, dass wir eine Instanz der Klasse erstellen und Zeile 2, dass wir einen untergeordneten Prozess erstellen.

Wenn mir jemand das genauer erklären kann, wäre ich ihm sehr dankbar.

3voto

Konerak Punkte 38232

Zunächst einmal möchte ich Ihnen helfen, sich selbst zu helfen:

  • Hilfe zu Perl finden Sie in der perldoc .
  • Hilfe zu Perl-Modulen finden Sie unter CPAN .

Sie arbeiten hier mit dem Modul Expect, zu finden unter CPAN:Erwarten .

Aus rein syntaktischer Sicht rufen Sie lediglich zwei Methoden auf:

my $exp = Expect->new(); #Yes, the new Expect is a shorthand version
$exp->spawn("su");

Beide Methoden sind bei CPAN dokumentiert, und sie sind tatsächlich tun, was Sie erwarten (kein Wortspiel beabsichtigt) zu tun: der erste erstellt ein Expect-Objekt, der zweite startet einen Prozess "su" ohne Parameter.

Jetzt können Sie wahrscheinlich die Methoden send und expect verwenden, um eine Zeichenkette an den Prozess zu senden, oder warten, bis er nach einer Eingabe fragt. Direkt aus dem CPAN-Beispiel:

# send some string there:
$exp->send("string\n");

# then do some pattern matching with either the simple interface
$patidx = $exp->expect($timeout, @match_patterns);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X