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

Vol*_*Rig 4 windows perl command-line stdin stdout

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

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

Dav*_*idO 5

ExtUtils :: MakeMaker有一个prompt非常独立于平台的功能.我不是建议在你的情况下使用它,但IO :: Prompt :: Tiny的POD 声明它的prompt功能是基于它的方式ExtUtils::MakeMaker.在冒烟测试都体现了IO ::提示::微小取得了更好的便携性(包括Windows).你可以尝试一下.

这是一个有点在这个新的模块冒烟测试早期对于某些说,但如果它是基于ExtUtils::MakeMakerprompt,它是专为便携性.

Term :: Prompt是另一种选择.它已经存在更长时间,并且具有更长的多平台烟雾测试成功历史.但它的非核心的依赖Term::ReadKeyText::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)