[EMAIL PROTECTED] wrote:
>
> Is it possible to buffer the data coming in ($_) based on size rather
> than waiting for a newline?
>
> Here is a test scenario:
>
> #script1.pl
> while(1){
> print "Sent: " . localtime() . "\n";
> }
$| = 1;
while (1) {
print "Sent: " . localtime ();
sleep 1;
}
> ------------------------------
>
> #script2.pl:
> print "Received: $_";
This might work for you, but you really need to know where to put the
newlines other than checking for Sent:
print "Received: ";
while (1) {
my $buf;
sysread STDIN, $buf, 128;
print $buf;
print "\nReceived: " if $buf =~ /^Sent/;
}
> Running the above scripts using: "perl script1.pl | perl -n script2.pl"
> works fine (as expected). However I wonder if it is possible to remove
> the "\n" from the print statement in script1.pl and let script2.pl
> handle the buffering, by this I mean process the print "Received: $_";
> line only when $_ contains x number of characters, bytes, etc...
>
> Note: Target platform is Win32.
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs