Pat Gunn (dachte) wrote,
Pat Gunn

Slightly Less than Fun

Perl's CPAN module is very cool. CPAN is a project collecting useful perl modules that do everything from crazy statistics to converting things to and from roman numerals. Using the module, you get an interactive shell, and can tell it things like "install XML::Atom" and it will download and install every prerequisite and then the module you need. This is pretty cool. Unfortunately, for a lot of the more interesting modules, they depend on enough other modules that in turn depend on enough other modules that you may be downloading a lot of code. There are also two ways one can lose in this process, first, if any developer on any of the modules in this long chain committed a version that won't pass testing on your system, the entire process stops. I guess that's unavoidable given the nature of what's being done. The second thing that can happen is if a module depends on the latest feature in a newer version of Perl than what you have installed, the CPAN module will helpfully download and start you on the process to compile a new version of Perl. This is theoretically helpful, if you installed Perl yourself by compiling it originally, rather than getting it through a package, but in reality, it's unhelpful for anyone. If you compile your own Perl, chances are you're going to want to keep the sources somewhere in /usr/local/src rather than whatever dark corner of the filesystem CPAN uses to compile things. If you use a packaged version of Perl (as most people do, nowadays), the last thing you want is to see the ugly mess that happens when a compiled version lands on top of a package-installed version. The use of packages on Unix has unfortunately led to some mess. Fortunately, I haven't won the booby prize (recompile perl) recently. It would be amusing to make a CPAN boardgame... Needless to say, I have been doing a lot of perl programming recently, for a number of different projects, job/school/etc related.

Getting too much tea for a party is not a great shame for someone like me who drinks *lots* of tea. Mmm. I am ongoingly wondering if the party's philosophical discussions made other people think as much as they did me.

Tags: tech

  • Testing functions in Perl

    (Nothing particularly profound or my-idea-centric here, and I was tempted to post it to my personal blog instead, but it's worth trying to learn…

  • Abstract strategies for abstraction

    There are a few purposes of abstraction in programming; one of them is to construct a uniform API that is independent of the backend that can work…

  • Statistical Software Components

    A few months ago I mentioned my big library of useful generic C/Perl functions (libpgunn). There are plenty of other general-purpose libraries out…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded