Skip to content

Comment on A Perl toolchain for building micro-services at scale

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';

  DB<1> n
main::(p1:4): $a = { hi => 'there' };
  DB<1> x $a
0 'hi'
  DB<2> n
main::(p1:5): print "Done\n";
  DB<2> x $a
0 HASH(0x29e6eb8)
   'hi' => 'there'

  DB<3> n
Done

Debugged 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.

  DB<3> exit
ddiederi@lomin:~/t$
AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.