G'day Rolf,
Update:
I posted a solution but later found it didn't work with commands that output multiple lines (e.g. ls, ps, etc.). Here's a new solution that doesn't have that problem. The original also had a portability issue: this one doesn't. (The spoiler below contains the original solution.)
My .perldb contains:
$ cat ~/.perldb
for (qw{pwd date ls ps}) {
$DB::alias{$_}
= 's{^($_.*)$}{chomp(my $out = qx{$1}); print {$DB::OUT} $out}
+e';
}
Obviously, substitute qw{pwd date ls ps} with your qw/commands/. See perldebug - Debugger Customization for a description of %DB::alias.
Here's a test run:
$ perl -d -e 1
Loading DB routines from perl5db.pl version 1.33
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(-e:1): 1
DB<1> pwd
/Users/ken/tmp
DB<2> date
Sun 9 Sep 2012 18:12:43 EST
DB<3> date "%Y-%m-%d"
date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS
+]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
DB<4> date "+%Y-%m-%d"
2012-09-09
DB<5> ls -l
total 30824
...
drwxr-xr-x 7 ken staff 238 14 Jun 20:23 zip_test
DB<6> ps -ef
UID PID PPID C STIME TTY TIME CMD
...
501 74528 74527 0 23Aug12 ttys007 0:00.04 -bash
DB<7> q
$
The typo (date "%Y-%m-%d") was accidental but I left it in just to show that the mistake was handled in a reasonable fashion.
|