I work quit a bit with lib ReadLine and the lib Perl Readline.
Yet, the Perl debugger refuses to save the session command line history.
Thus, each time I invoke the debugger I lose all of my previous history.
Does anyone know how to have the Perl debugger save, and hopefully, append session history similar to the bash HISTORYFILE
?
The way I do this is by having the following line in my ~/.perldb
file:
&parse_options("HistFile=$ENV{HOME}/.perldb.hist");
Debugger commands are then stored in ~/.perldb.hist
and accessible across sessions.
Add parse_options("TTY=/dev/stdin ReadLine=0");
to .perldb, then:
rlwrap -H .perl_history perl -d ...
$ export PERLDB_OPTS=HistFile=$HOME/.perldb.history
I did the following:
1) Created ~/.perldb
, which did not exist previously.
2) Added &parse_options("HistFile=$ENV{HOME}/.perldb.hist");
from mirod's answer.
3) Added export PERLDB_OPTS=HistFile=$HOME/.perldb.history
to ~/.bashrc from mephinet's answer.
4) Ran source .bashrc
5) Ran perl -d my program.pl
, and got this warning/error
perldb: Must not source insecure rcfile /home/ics/.perldb.
You or the superuser must be the owner, and it must not
be writable by anyone but its owner.
6) I protected ~/.perldb
with owner rw chmod 700 ~/.perldb
, and the error went away.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.