Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何保存stdinforperl的历史记录?_Perl_Stdin - Fatal编程技术网

如何保存stdinforperl的历史记录?

如何保存stdinforperl的历史记录?,perl,stdin,Perl,Stdin,我正在使用STDIN获取用户输入,如下所示。有没有办法保存上次运行的历史记录?也就是说,在终止程序并重新运行后,我仍然可以使用向上箭头键从上一次运行返回上一次输入 while(1){ $input = getCmd(); } sub getCmd { print "\nprompt> "; my $line = <STDIN>; $line =~ s/^\s+|\s+$//g; return $line; } while(1){ $i

我正在使用STDIN获取用户输入,如下所示。有没有办法保存上次运行的历史记录?也就是说,在终止程序并重新运行后,我仍然可以使用向上箭头键从上一次运行返回上一次输入

while(1){
    $input = getCmd();
}

sub getCmd
{
    print "\nprompt> ";
    my $line = <STDIN>;
    $line =~ s/^\s+|\s+$//g;
    return $line;
}
while(1){
$input=getCmd();
}
子getCmd
{
打印“\n打印>”;
我的$line=;
$line=~s/^\s+|\s+$//g;
返回$line;
}

终端存储可供您使用的输入命令的历史记录。如果您想检索用户输入的历史记录,然后将其存储在某个文件中,在脚本中添加代码,按向上键和向下键从该文件中读取数据。可能类似以下术语::ReadKey会有所帮助?我不确定。这只是文档中的一个建议,看起来Term::ReadLine应该提供这一点,但我无法在我想花在它上的时间内真正实现历史。不过,也许值得研究并发布一个(有效的)答案。另请参见终端存储中提供的输入命令历史记录。如果您想检索用户输入的历史记录,然后将其存储在某个文件中,在脚本中添加代码,按向上键和向下键从该文件中读取数据。可能类似以下术语::ReadKey会有所帮助?我不确定。这只是文档中的一个建议,看起来Term::ReadLine应该提供这一点,但我无法在我想花在它上的时间内真正实现历史。不过,也许值得研究并发布一个(有效的)答案。另见