geoffleach has asked for the wisdom of the Perl Monks concerning the following question:

This is a new installation, so presumably I've failed to install a module. Term::ReadLine is installed, if that matters.
DB<2>!p /bin/bash: p: command not found Undefined subroutine &DB::db_warn called at /usr/share/perl/perl5db.pl + line 6738. at /usr/share/perl5/perl5db.pl line 6738. DB::_db_system("/bin/bash", "-c", "p") called at /usr/share/perl5/perl +5db.pl line 3921 DB::Obj::_handle_sh_command(DB::Obj=HASH(0x20dfe2 +8)) called at /usr/share/perl5/perl5db.pl line 2990 DB::DB called at check_running.pl line 33

Replies are listed 'Best First'.
Re: !p tries to sh p
by choroba (Cardinal) on Jan 06, 2015 at 00:38 UTC
    The error message is missleading. Thanks for catching a bug, I filed a bugreport: 123553.
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
      And the patch was accepted! Hurray, my first lines in Perl's core!
      لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

        Congrats!

Re: !p tries to sh p
by LanX (Saint) on Jan 05, 2015 at 23:26 UTC
    That's documented try h to read the help text.

    update

    If you want debugger commands disabled start with whitespace or semicolon.

    Cheers Rolf

    (addicted to the Perl Programming Language and ☆☆☆☆ :)

      Let me restate the problem. Suppose I say '>p $foo'. Then later on I wish to repeat the action, so instead of saying '>p $foo', I say '>!p'. As I understand the doc, that is supposed to repeat the last instance of the p command, in this case '>p $foo'.

      In the doc, its pointed out that recallCommand and ShellBang are both set to '!'. On the last version of perldb, the ! worked as I expected; in this version it appears to be running it as ShellBang. I'm assuming that this was not intenced.

        Without version info I can only guess.

        But I only use Ctrl-r to recall commands, though YMMV!

        Cheers Rolf

        (addicted to the Perl Programming Language and ☆☆☆☆ :)