www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

pipe-bi.pl
#!/usr/local/bin/perl -w
# pipe-bi.pl -- Bidirektionale Pipes Eltern <=> Kind

# Perl-Pipes anlegen
pipe EKL, EKS;        # (E)ltern->(K)ind (L)esen und (S)chreiben
pipe KEL, KES;        # (K)ind->(E)ltern (L)esen und (S)chreiben

# Pufferung auf Schreibhandles ausschalten!
$oh = select(EKS); $|=1; select($oh);
$oh = select(KES); $|=1; select($oh);

if (fork()) {
    # Elternprozess schreibt erst und liest dann.
    close(EKL); close(KES);       # Nicht benoetigte Enden schliessen
    print EKS "All Right?\n";     # erst zum Kind schreiben
    $answer = <KEL>;              # dann vom Kind lesen

    print "Parent: Child's reply ($answer)\n";
    wait();                       # Warte auf Tod des Kindes
} else {
    # Kindprozess liest erst und schreibt dann.
    close(EKS); close(KEL);       # Nicht benoetigte Enden schliessen
    chomp($query = <EKL>);        # erst von Eltern lesen
    print KES "Child: ($query): Sure!";  # dann Antwort schreiben
    exit(0);                      # Kind tot
}

print "Parent: Leaving...\n";
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:56:02 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo