mirror of
https://github.com/imapsync/imapsync.git
synced 2025-06-12 15:34:52 +02:00
44 lines
1.1 KiB
Perl
Executable file
44 lines
1.1 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use IO::Prompter;
|
|
|
|
# The defect is when used with a pipe, like the following on the command line example,
|
|
# prompt() does not print the prompt string 'Say something: '
|
|
# however the variable @ARGV is locally empty.
|
|
# The output is then only:
|
|
#
|
|
# $ echo bla bla bla | ./bug_io_prompt_local_ARGV param1 param2
|
|
# ARGV are param1 param2
|
|
# You said: bla bla bla
|
|
|
|
# I tried also
|
|
# prompt( \*STDOUT, 'Say something: ');
|
|
|
|
# The behavior is ok without the pipe:
|
|
# ./bug_io_prompt_local_ARGV param1 param2
|
|
|
|
# echo input | { echo -n "prompt: " ; read stdin ; echo "got $stdin" ; }
|
|
# { echo -n "prompt: " ; read stdin ; echo "got $stdin" ; }
|
|
|
|
|
|
print "$IO::Prompter::VERSION\n" ;
|
|
print "ARGV are @ARGV\n" ;
|
|
|
|
my $input = get_stdin();
|
|
|
|
print "You said: $input\n" ;
|
|
|
|
sub get_stdin
|
|
{
|
|
#local(@ARGV) ;
|
|
my $prompt = 'Say something: ' ;
|
|
my $input = prompt(
|
|
-prompt => $prompt,
|
|
-echo => '*',
|
|
-in => *STDIN,
|
|
-out => *STDOUT,
|
|
);
|
|
return $input ;
|
|
}
|