Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • One of my beefs about perl is that it doesn't come with a good interactive environment (unlike python). I frequently test things against an implementation, just to see whether something works or not; I usually go to the documentation afterwords. :-)

    I must say though, that hash slices are one of those things that I nearly always avoid if possible; they're just too visually cluttered.

    • It's not a very good interactive environment, but you can use the debugger with a command like perl5.6.1 -de 1. I do it often, including yesterday when playing with slices.

      I haven't completely decided if I should avoid hash slices or not. I'll agree they seem cluttered. I'll have to wait until I'm maintaining this code three years from now to decide. :) For now I'm using them because they seem less cluttered than the alternative.

      J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
    • I don't understand what you mean. Yes, there is perl -d, as mentioned, and you can always use perl -e itself, too. But not knowing what you mean, I can't say if these are sufficient to your desires.

      Testing is sometimes a problem. For testing Slash, I wrote Slash::Test, which exports the four major objects, Dumper(), the entire API, all the constants, all the available plugin objects, etc. so I can do stuff like:

      % perl -MSlash::Test=useperl -e 'print Dumper $slashdb->getUserFoo($user->{uid})'


    • There are a few different interactive environments out there including the perl -dead that folks have mentioned.
      For interactive exploration of complex structures, I've found Data::Walker [] to be very useful.