Pipe non-nommé
 


   Un pipe est un canal d'entrée-sortie unidirectionnel qui peut transférer un flux d'octets d'un processus vers un autre.

   La fonction open de perl ouvre un pipe au lieu d'un fichier quand on rajoute un symbole de pipe avant ou après le second argument de open. Le reste est transformé en commande, qui est interprétée comme un processus(ou un ensemble de processus) pour transférer un flux de données vers l'extérieur ou l'intérieur.


#!/usr/bin/perl

open STATUS, "netstat -an 2>1 |"
or die "fork impossible : $!";

while(<STATUS>){
next unless /(tcp|udp)/;
print;
}
close STATUS or die "mauvais spool : $! $?";

 

   Cet exemple démarre en fait deux processus un qui effectue la commande UNIX netstat et l'autre qui poursuit l'exécution du programme. En effet quand on lance open, le processus effectue un fork le processus fils s'occupe de l'exécution de la commande qui lui a été passée.