Vol*_*Rig 4 windows perl command-line stdin stdout
我在Windows上运行Strawberry Perl,我想在命令提示符下打印"Default Value",以便用户可以编辑它,然后按Enter键,Perl会将其视为新的STDIN行.我被告知使用IO :: Prompt,但已经确定这在Windows中不起作用.
如果没有使用Tk或其他东西制作GUI,我该怎么做?
ExtUtils :: MakeMaker有一个prompt非常独立于平台的功能.我不是建议在你的情况下使用它,但IO :: Prompt :: Tiny的POD 声明它的prompt功能是基于它的方式ExtUtils::MakeMaker.在冒烟测试都体现了IO ::提示::微小取得了更好的便携性(包括Windows).你可以尝试一下.
这是一个有点在这个新的模块冒烟测试早期对于某些说,但如果它是基于ExtUtils::MakeMaker的prompt,它是专为便携性.
Term :: Prompt是另一种选择.它已经存在更长时间,并且具有更长的多平台烟雾测试成功历史.但它的非核心的依赖Term::ReadKey和Text::Wrap. IO::Prompt::Tiny坚持核心依赖,如果这是一个问题.
use IO::Prompt::Tiny qw( prompt );
my $input = prompt( 'Proceed? (y/n)', 'n' );
Run Code Online (Sandbox Code Playgroud)
输出:
Proceed? (y/n) [n]
Run Code Online (Sandbox Code Playgroud)