Hello aral,
The ungets method from FileHandle::Unget works on STDIN:
#! perl use strict; use warnings; use FileHandle::Unget; $| = 1; my $fh = FileHandle::Unget->new(\*STDIN) or die "Cannot open filehandle: $!"; print "\nEnter a string: "; read($fh, my $buffer1, 10); print "\nThe first 10 characters: '$buffer1'\n"; $fh->ungets($buffer1); read($fh, my $buffer2, 15); print "The \"next\" 15 characters: '$buffer2'\n"; $fh->close;
Output:
1:17 >perl 1115_SoPW.pl Enter a string: abcdefghijklmnopqrstuvwxyz The first 10 characters: 'abcdefghij' The "next" 15 characters: 'abcdefghijklmno' 1:17 >
Update: Added print statements and renamed variables.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: peek at STDIN, to determine data type and then pass STDIN to a parser
by Athanasius
in thread peek at STDIN, to determine data type and then pass STDIN to a parser
by aral
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |