Main > Programming > Libraries >

IO::Interactive 0.0.3

IO::Interactive 0.0.3

Sponsored Links

IO::Interactive 0.0.3 Ranking & Summary

RankingClick at the star to rank
Ranking Level
User Review: 0 (0 times)
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.

IO::Interactive 0.0.3 Screenshot

Advertisements

IO::Interactive 0.0.3 Keywords

Bookmark IO::Interactive 0.0.3

Hyperlink code:
Link for forum:

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

Allok Video Splitter 2.2.0 Review:

Name (Required)
Email(Required)
Captcha
Featured Software

Want to place your software product here?
Please contact us for consideration.

Contact WareSeeker.com
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