Perl is also one of the fastest things out there - if your problem is doing lots of string handling. I have this little test that does a lot of string concatenation and garbage creation, which I recently pulled out of the closet to compare Javascript on Node and Javascript on Nashorn (and also native Java, since it was already there). Even on Java 8, Perl still blows it away.
That said, I hate working with references in the Perl debugger, and, I would be lynched at most worksites, at least in Sacramento, if I suggested a Perl back end. ...Which is too bad - Java/ORM, "COBOL-fingers", bondage and discipline forever...
Or something like that, it's been a while. I'm spoiled by the Javascript debuggers built into Chrome & Firefox, although I'm not sure about the Node.js debugger.
Is there a shell (either graphical, or "Borland Turbo Debugger for DOS" style) for perl -d ?
(even the "view locals" command in gdb for C presents data more quickly than the built in perl debugger)
Comments
Perl is also one of the fastest things out there - if your problem is doing lots of string handling. I have this little test that does a lot of string concatenation and garbage creation, which I recently pulled out of the closet to compare Javascript on Node and Javascript on Nashorn (and also native Java, since it was already there). Even on Java 8, Perl still blows it away.
That said, I hate working with references in the Perl debugger, and, I would be lynched at most worksites, at least in Sacramento, if I suggested a Perl back end. ...Which is too bad - Java/ORM, "COBOL-fingers", bondage and discipline forever...
Can you expand on what you've run into with references in the Perl debugger?
print $ref
REFERENCE$HASH
Or something like that, it's been a while. I'm spoiled by the Javascript debuggers built into Chrome & Firefox, although I'm not sure about the Node.js debugger.
Is there a shell (either graphical, or "Borland Turbo Debugger for DOS" style) for perl -d ?
(even the "view locals" command in gdb for C presents data more quickly than the built in perl debugger)
Try 'x' instead of 'print':
ddiederi@lomin:~/t$ cat p1 #!/usr/bin/perl
my $a = 'hi'; $a = { hi => 'there' }; print "Done\n"; ddiederi@lomin:~/t$ perl -d p1
Loading DB routines from perl5db.pl version 1.49 Editor support available.
Enter h or 'h h' for help, or 'man perldebug' for more help.
main::(p1:3): my $a = 'hi';
main::(p1:4): $a = { hi => 'there' }; 0 'hi' main::(p1:5): print "Done\n"; 0 HASH(0x29e6eb8) DoneDebugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program
termination,
h q, h R or h o to get additional info.
ddiederi@lomin:~/t$