Perl first world problems #1

  • Some github users name their Perl repositories perl-*, some p5-*, yet some perl5-*. I can't decide.
  • I use cpanm all the type, but can't use tab completion because "cpan" exists. I can add aliases but have to do this on every system.
  • perlbrew takes too long compiling a new perl.
  • I used to be hip because I use Perl, not anymore.
  • I'm spoilt with optional semicolon in Ruby/Python/JavaScript, now I can't go back.
  • There are too many modules on CPAN (okay too obvious).


About perlbrew being slow, if you have multiple cores you could try

MAKEFLAGS=-j4 perlbrew ...

to compile with 4 jobs in parallel.

uuuuh, that's serious!

And others use suffixes, such as -pm or -pm5. I personally suffix -pm5 for Perl 5 modules, -pm6 for Perl 6 modules, -js for JavaScript, etc. I also rename forked repos to my naming conventions. If you couldn't rename forks, the inconsistencies would get on my nerves. I wouldn't care about designating the language at all if I didn't have projects implemented in multiple different languages.

Regarding perlbrew, I set HARNESS_OPTIONS to j9 in my shell. While not all CPAN modules run tests in parallel, the Perl 5 core test suite runs very nicely in parallel. Except for installations on virtual machines with very slow IO and little memory, this has sped up installation through perlbrew measurably.

That should be TEST_JOBS=9 for perlbrew—specifically for the Perl 5 Makefile.

You are still hip

Leave a comment

About Steven Haryanto

user-pic A programmer (mostly Perl 5 nowadays). My CPAN ID: SHARYANTO. I'm sedusedan on perlmonks. My twitter is stevenharyanto (but I don't tweet much). Follow me on github: sharyanto.