Windows Perl行编辑器具有可编辑的默认值?

时间:2012-05-12 03:37:35

标签: windows perl command-line stdout stdin

我在Windows上运行Strawberry Perl,我想在命令提示符下打印“Default Value”,以便用户可以编辑它,然后按Enter键,Perl会将其视为新的STDIN行。我被告知使用IO::Prompt,但已确定这在Windows中不起作用。

如果没有使用Tk或其他东西制作GUI,我该怎么做?

1 个答案:

答案 0 :(得分:5)

ExtUtils::MakeMaker具有prompt功能,与平台无关。我并不是建议在您的情况下使用它,但是IO::Prompt::Tiny的POD声明其prompt函数基于ExtUtils::MakeMaker的方式。 smoke tests似乎反映出IO :: Prompt :: Tiny已经实现了更好的可移植性(包括Windows)。你可以尝试一下。

这个新模块的烟雾测试有点早,可以肯定地说,但如果它基于ExtUtils::MakeMaker的{​​{1}},则它是为便携性而设计的。

Term::Prompt是另一种选择。它已经存在更长时间,并且具有更长的多平台烟雾测试成功历史。但它具有promptTerm::ReadKey的非核心依赖关系。 Text::Wrap坚持核心依赖关系,如果这是一个问题。

IO::Prompt::Tiny

输出:

use IO::Prompt::Tiny qw( prompt );
my $input = prompt( 'Proceed? (y/n)', 'n' );