in reply to peek at STDIN, to determine data type and then pass STDIN to a parser
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, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: peek at STDIN, to determine data type and then pass STDIN to a parser
by ikegami (Patriarch) on Jan 07, 2015 at 15:33 UTC | |
|
Re^2: peek at STDIN, to determine data type and then pass STDIN to a parser
by aral (Acolyte) on Jan 08, 2015 at 09:43 UTC |