imapsync/W/learn/bug_io_prompter_local_ARGV
Nick Bebout 852d9695d6 1.920
2019-07-02 18:20:46 -05:00

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 ;
}