IO::Interactive 0.0.3
Sponsored Links
IO::Interactive 0.0.3 Ranking & Summary
File size:
0.005 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
1012
Date added:
2007-01-16
Publisher:
Damian Conway
IO::Interactive 0.0.3 description
IO::Interactive is a Perl module with utilities for interactive I/O.
SYNOPSIS
use IO::Interactive qw(is_interactive interactive busy);
if ( is_interactive() ) {
print "Running interactivelyn";
}
# or...
print {interactive} "Running interactivelyn";
$fh = busy {
do_noninteractive_stuff();
}
This module provides three utility subroutines that make it easier to develop interactive applications...
is_interactive()
This subroutine returns true if *ARGV and *STDOUT are connected to the terminal. The test is considerably more sophisticated than:
-t *ARGV && -t *STDOUT
as it takes into account the magic behaviour of *ARGV.
You can also pass is_interactive a writable filehandle, in which case it requires that filehandle be connected to a terminal (instead of *STDOUT). The usual suspect here is *STDERR:
if ( is_interactive(*STDERR) ) {
carp $warning;
}
interactive()
This subroutine returns *STDOUT if is_interactive is true. If is_interactive() is false, interactive returns a filehandle that does not print.
This makes it easy to create applications that print out only when the application is interactive:
print {interactive} "Please enter a value: ";
my $value = <>;
You can also pass interactive a writable filehandle, in which case it writes to that filehandle if it is connected to a terminal (instead of writinbg to *STDOUT). Once again, the usual suspect is *STDERR:
print {interactive(*STDERR)} $warning;
busy {...}
This subroutine takes a block as its single argument and executes that block. Whilst the block is executed, *ARGV is temporarily replaced by a closed filehandle. That is, no input from *ARGV is possible in a busy block. Furthermore, any attempts to send input into the busy block through *ARGV is intercepted and a warning message is printed to *STDERR. The busy call returns a filehandle that contains the intercepted input.
A busy block is therefore useful to prevent attempts at input when the program is busy at some non-interactive task.
SYNOPSIS
use IO::Interactive qw(is_interactive interactive busy);
if ( is_interactive() ) {
print "Running interactivelyn";
}
# or...
print {interactive} "Running interactivelyn";
$fh = busy {
do_noninteractive_stuff();
}
This module provides three utility subroutines that make it easier to develop interactive applications...
is_interactive()
This subroutine returns true if *ARGV and *STDOUT are connected to the terminal. The test is considerably more sophisticated than:
-t *ARGV && -t *STDOUT
as it takes into account the magic behaviour of *ARGV.
You can also pass is_interactive a writable filehandle, in which case it requires that filehandle be connected to a terminal (instead of *STDOUT). The usual suspect here is *STDERR:
if ( is_interactive(*STDERR) ) {
carp $warning;
}
interactive()
This subroutine returns *STDOUT if is_interactive is true. If is_interactive() is false, interactive returns a filehandle that does not print.
This makes it easy to create applications that print out only when the application is interactive:
print {interactive} "Please enter a value: ";
my $value = <>;
You can also pass interactive a writable filehandle, in which case it writes to that filehandle if it is connected to a terminal (instead of writinbg to *STDOUT). Once again, the usual suspect is *STDERR:
print {interactive(*STDERR)} $warning;
busy {...}
This subroutine takes a block as its single argument and executes that block. Whilst the block is executed, *ARGV is temporarily replaced by a closed filehandle. That is, no input from *ARGV is possible in a busy block. Furthermore, any attempts to send input into the busy block through *ARGV is intercepted and a warning message is printed to *STDERR. The busy call returns a filehandle that contains the intercepted input.
A busy block is therefore useful to prevent attempts at input when the program is busy at some non-interactive task.
IO::Interactive 0.0.3 Screenshot
IO::Interactive 0.0.3 Keywords
IO
ARGV
STDOUT
STDERR
Interactive 0.0.3
O
Perl module
interactive
busy
Filehandle
block
print
module
IO::Interactive
IOInteractive
IO::Interactive 0.0.3
Bookmark IO::Interactive 0.0.3
IO::Interactive 0.0.3 Copyright
WareSeeker periodically updates pricing and software information of IO::Interactive 0.0.3 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of IO::Interactive 0.0.3 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
interactive weather
interactive world map
interactive map
busy bee tools
interactive buddy
interactive math
madness interactive
busy philipps
interactive card trick
interactive whiteboards
perl modules
interactive metronome
Standard streams
abs cbn interactive
perl filehandle
busy body fitness
interactive brokers
busy phillips
Related Software
IO::InSitu is a Perl module to avoid clobbering files opened for both input and output. Free Download
Test::Trap is a Perl module with trap exit codes, exceptions, output, etc. Free Download
Convert::Braille is a Perl module that can convert Between Braille Encodings. Free Download
IO::Busy is a Perl module to intercept terminal input while something else is happening. Free Download
Modwheel Perl module is a tree-based Web framework. Free Download
PerlIO is a Perl module created to load on demand PerlIO layers and root of PerlIO::* name space. Free Download
Term::TtyRec::Player is a Perl module that playbacks ttyrec data. Free Download
IO::Tty is a Perl module to low-level allocate a pseudo-Tty, import constants. Free Download
Latest Software
Popular Software
Favourite Software