【问题标题】:Read password using Perl on Windows without using CPAN packages在不使用 CPAN 包的情况下在 Windows 上使用 Perl 读取密码
【发布时间】:2015-10-02 21:48:27
【问题描述】:

我们有一个使用终端读取密码的 Perl 脚本。此脚本不适用于 Windows,因为终端不可用。

我们做了一些研究,发现 ReadKey/Readline 是一个替代方案。但是,这个包不是我们默认 Perl 安装的一部分。

有没有办法在 Perl 中读取密码而不使用终端或 ReadKey/Readline?

【问题讨论】:

  • 您在 Windows 上使用哪个 Perl 发行版?是 ActivePerl 还是草莓 Perl?
  • "没有 CPAN 包?" ...简短的回答,不。

标签: perl passwords


【解决方案1】:

如果您正在寻找一种在终端不回显的情况下获取密码的方法,请尝试以下操作:

use Term::ReadKey;
print "Enter password:";
ReadMode('noecho'); 
my $password = <STDIN>;
chomp($password);

稍后,如果您必须恢复正常的终端输入回显,请这样写:

ReadMode(0); 

此解决方案需要安装Term::ReadKey,它也适用于 Windows。

【讨论】:

    【解决方案2】:

    可以在此处找到有关使用 ActivePerl 安装 CPAN 模块的说明:

    How to install CPAN modules into ActivePerl

    可以在此处找到有关使用 Strawberry Perl 安装 CPAN 模块的说明:

    Strawberry Perl CPAN instructions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2023-01-09
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多