Generove: IO::Select

Hallo!

Ich glaube (soweit ich es verstanden habe), ich möchte gerne das IO::Select Modul verwenden. Allerdings habe ich es bisher nicht wirklcih hingekriegt und die Dokumentationen, die ich bisher gefunden habe, waren alle auf Socketprogrammierung ausgelegt und mir nicht ganz verständlich.
Das ist mal ein ganz grober Auszug, wie ich das verstanden habe, aber offensichtlich falsch ;)

use IO::Select;

pipe(POUT, PIN);
my $pid = fork();

if($pid){
 close(PIN);
 $sel = new IO::Select(POUT);
 while(1){
  @we_are_ready = $sel->can_read(1);
  if($we_are_ready[0] == POUT){
   my $pipe_zeile = <POUT>;
   #mach irgendwas mit der Zeile
   [...]
  }
 }
}else{
 close(POUT);
 #hol dir von irgendwoher die Infos in $line
 [...]
 print PIN $line;
}
<<<<<

Sieht jetzt vielleicht bisschen komisch aus, weil ichs runtergebrochen habe... Also es gibt in dem Sinne keinen Fehler, aber es steht nie was in @we_are_ready drin. Ich nehme mal stark an, ich muss bei new irgendwie anders das handle übergeben, aber mir gehen die Ideen aus ;)

Kann mir jemand den Hinweis auf eine gute Dokumentation geben oder direkt so sagen, wo mein Verständnissfehler liegt?

Vielen Dank.

  1. Ok, ich denke ich habs. Mir ist beim Anschauen der socket-Beispiele die Idee gekommen, dass es schon ein Objekt sein sollte, das ich da übergebe und habe tatsächlich ein verwendbares IO:Pipe gefunden, mit dem es zu gehen scheint!