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

use Perl Log In

Log In

[ Create a new account ]

Matts (1087)

  (email not shown publicly)

I work for MessageLabs [] in Toronto, ON, Canada. I write spam filters, MTA software, high performance network software, string matching algorithms, and other cool stuff mostly in Perl and C.

Journal of Matts (1087)

Tuesday February 26, 2002
11:51 AM

Sick, Perl 4 and Shelves

[ #3135 ]

I'm sick. I hate being sick. There's simply nothing worse IMHO. Just a cold, but there's probably not much worse than a cold - you're not sick enough to be bed-ridden, yet you feel crappy, achy, and your nose produces more fluids than you can consume. Yuck. OK, I'm whining. My mother has breast cancer fer chrisake - that's definitely worse. Shutup, Matt.

To top that off this week's task at work (well, at home today feeling sorry for myself) is to re-architect our Skeptic anti-virus code. It's 16,000 lines of Perl 4. Luckily it uses strict, otherwise I think I would have quit already. It didn't however compile cleanly under -w, so first I went through and fixed all those issues. Now I have to pull the code apart into modules.

The painful thing is I've done this once already. But it failed when it went live, because the original author decided he didn't like my for (@ARGV) and changed it to while (shift @ARGV), thus terminating the loop when it saw a zero on the command line. Of course one of the parameters in "live" is almost always zero, causing a barforama. ARGH! Why do people have to touch my code!... This time I'm going to use GetOpt::Std, and he can shove his custom param parsing code :-) So after pulling the release, Alex (the Perl 4 coder) decided to continue coding his old code, instead of the re-architected code. So he sent me a copy last week, so I could merge in the changes again after about 2 months of me working on different things. I got a 20,000 line diff. Nightmare. So I decided rather than try and merge that amount of code, I'd be better off starting again from scratch. Oh what I wouldn't do for a refactoring editor for Perl ;-)

The good news is my shelves are back up. I used 4 inch frame fixings this time, instead of the widdly little 1 inch wallplugs I used last time. Should hold the thing up methinks, even against the mighty weight of Tipler's "Physics". Sadly my desk is still a disaster area. I need to get some tuits together to tidy it.

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.
  • Kill him now. Quickly, before he breeds.

    Well, I'm sort of working on (and mostly off) a perl refactoring engine, but I doubt very much that anything I come up with is going to work well with perl 4 type code.
    • Well I've got it working under -w now. So the refactoring begins. I was kinda hoping you'd say "The refactoring browser is now working!", but then I'd be way too lucky, and that shit never happens to me ;-)

      As for killing him, I would but anti-virus experts are impossible to find, let alone hire... I'll have to train him in the art instead :-)