【问题标题】:re.pl (Perl interactive shell) command history?re.pl(Perl 交互式 shell)命令历史?
【发布时间】:2015-03-03 03:39:56
【问题描述】:

我只是使用 perlbrew / cpanm 来安装 Devel::REPL 模块,并想使用它附带的 re.pl 脚本在 Mac OS X Mavericks 下的交互式 REPL shell 中学习 Perl。输入 re.pl 并输入一些简单的 perl 命令后,我尝试使用向上箭头键或 ctrl-p 回到我刚刚输入的先前命令,但没有运气,只显示 ^[[A 或 ^P 键码。请帮忙。非常感谢。

【问题讨论】:

    标签: perl perl-module


    【解决方案1】:

    您可能需要安装Term::ReadLine 模块之一。请参阅Devel::REPL::Plugin::ReadLineHistory 的文档。

    【讨论】:

    • 布莱恩,非常感谢。在cpanm Term::ReadLine::Gnu 之后,现在启用对re.pl 的命令历史支持。
    【解决方案2】:

    看起来历史记录是通过Devl::REPL::History 插件启用的。

    另外,我使用 perl -del 以类似于 REPL 的方式运行调试器。我从 Perl Maven 上的 post 得到这个想法。

    【讨论】:

    • 文档似乎暗示 History 插件对于向上箭头的工作并不是必需的。我发现调试器界面很丑,只做perl -wnE'say eval()//$@'。将其设为rlwrap perl -wnE'say eval()//$@',您也会获得历史记录。
    • @Brian,@j,Devel::REPL::Plugin::ReadLineHistoryDevel::REPL::Plugin::History 都已经与 Devel::REPL 捆绑在一起,似乎只运行 re.pl 不会启用向上箭头工作,并且我需要做什么才能启用它? @ysth,感谢您的提示。在sudo port install rlwrap 并运行你说的命令之后,我得到了最小的向上箭头命令历史支持。
    • @j,我想 perl 调试器 hack 不提供命令历史支持。
    • @AlvaPan:如果 perl 调试器找到它需要的 readline 模块,它本身会做命令历史记录,但人们似乎常常很难让它正常工作
    • 这些是一些很棒的替代建议。经典 Perl TMTOWTDI。到目前为止,调试器已经很好地满足了我的需求。我也计划尝试@ysth 的建议。
    猜你喜欢
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 2012-11-30
    • 1970-01-01
    相关资源
    最近更新 更多