#!/usr/bin/perl
use strict;
use warnings;
use POSIX 'mkfifo';
my $fifo = "/tmp/named.pipe";
unless ( -p $fifo ) {
mkfifo( $fifo, 0666 ) or die $!;
}
while (1) {
open( my $fh, '>', $fifo );
my $t = scalar localtime;
warn "writing to fifo at $t\n";
print $fh "written at $t\n";
close $fh;
sleep 2;
}
####
#!/usr/bin/perl
use strict;
use warnings;
my $input = "/tmp/named.pipe";
die "$input is not really a named pipe\n" unless (-p $input);
while(1) {
my $t = scalar localtime;
warn "opening input at $t\n";
open( my $p, "<", $input ) or die $!;
$_=<$p>;
print "got: $_"
}
##
##
#!/usr/bin/perl
use strict;
use warnings;
my $input = "/tmp/named.pipe";
die "$input is not really a named pipe\n" unless (-p $input);
my $t = scalar localtime;
warn "opening input at $t\n";
open( my $p, "<", $input ) or die $!;
while(<$p>) {
$t = scalar localtime;
print "reading at $t, got: $_"
}