Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/progrhyme/perl5-io-prompt-timeout

Provides "prompt" function with timeout
https://github.com/progrhyme/perl5-io-prompt-timeout

Last synced: 2 days ago
JSON representation

Provides "prompt" function with timeout

Awesome Lists containing this project

README

        

# NAME

IO::Prompt::Timeout - Simple prompt interface with timeout.

# SYNOPSIS

use IO::Prompt::Timeout qw(:all);
my $answer = prompt('Yes or No? (y/n)', %option);
my $is_timeout = has_prompt_timed_out();

# Specifying timeout seconds
my $answer = prompt('Yes or No? (y/n) Answer in 10 seconds.', timeout => 10);

# Specifying default answer
my $answer = prompt('Yes or No? (y/n)', default => 'n');

# DESCRIPTION

__IO::Prompt::Timeout__ provides _prompt_ subroutine most of which comes from
[ExtUtils::MakeMaker](https://metacpan.org/pod/ExtUtils::MakeMaker).

It also has timeout feature just like [Prompt::Timeout](https://metacpan.org/pod/Prompt::Timeout).
The default timeout seconds is 60. When prompt timed out, the default answer
can be taken when it's set by option.

Unlike Prompt::Timeout, this module uses [IO::Select](https://metacpan.org/pod/IO::Select) for timeout procedure.
The function of clearing timer by a single key click is not supported which is
implemented in Prompt::Timeout.

# SUBROUTINES

## prompt : Answer(SCALAR)

Show prompt and returns the answer by user's input.

## has\_prompt\_timed\_out : BOOL

Called after a _prompt_ call.
Returns if _prompt_ subroutine has timed out or not.

# ENVIRONMENT VARIABLES

- __$ENV{PERL\_IOPT\_USE\_DEFAULT}__

If set true, _prompt_ will always return the default answer without waiting for
user input.

# SEE ALSO

[ExtUtils::MakeMaker](https://metacpan.org/pod/ExtUtils::MakeMaker),
[IO::Prompt::Tiny](https://metacpan.org/pod/IO::Prompt::Tiny),
[Prompt::Timeout](https://metacpan.org/pod/Prompt::Timeout),
[IO::Select](https://metacpan.org/pod/IO::Select)

# LICENSE

Copyright (C) YASUTAKE Kiyoshi.

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

# AUTHOR

YASUTAKE Kiyoshi