IO::Interactive 0.0.3
IO::Interactive 0.0.3 Ranking & Summary
File size:
0.005 MB
Platform:
Any Platform
License:
Freeware
Price:
Free
Download:
10
Date added:
2007-01-16
Publisher:
Damian Conway
Publisher URL:
http://search.cpan.org/~d
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
Sponsored Links
IO::Interactive 0.0.3 Keywords
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 mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
IO::Interactive 0.0.3 Related Software

Interactive BDD Environment project is a shell like utility for working with ROBDDs.

BZByte Ajax provides a Java-based interactive Web toolkit for writing professional interactive apps.

Orca Interactive Forum Script is an interactive Web-based forum script that is based on AJAX technology,

Interactive Decompiler decompiles by the successive application of low-level refactorings, ultimately leading to high-level code

BZByte EZ Ajax is a Java-based interactive Web toolkit to make writting professional interactive Web applications easy.

Slackware Interactive Boot Scripts is an enhanced set of replacement boot scripts for the Slackware Linux distribution.

Ibmonitor is an interactive Linux console application which shows bandwidth consumed on all interfaces.

sud is a daemon to execute interactive and non-interactive processes with special privileges in a nosuid environment.

The friendly interactive shell is a shell focused on interactive use, discoverability, and friendliness.
My Software
You have not saved any software. Click "Save" next to each software to save it to your software basket
Related Search
TOP POPULAR DOWNLOAD
