The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.

It also has timeout feature just like 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 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, IO::Prompt::Tiny, Prompt::Timeout, 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 <yasutake.kiyoshi@gmail.com>