This just in: study shows advantages to RTFM

So I really like to validate email addresses using Email::Valid. But yesterday, I got a bug report. Some system was sending emails to another system with addresses containing a space right after the @. That other system was totally unable to deal with those.

"But I do email address validation" I thought. "Not just with a stupid regular expression like .+\@.+, but with Email::Valid". So I added a test to our suite and sure enough, that new test failed.

Lesson learned: Read the documentation of the modules you use.

Use Ctrl-d!

Due to recent events, we now broadcast a public service announcement:

Stop typing "exit" or "logout" to quit your current shell session!

Thank you for your attention - we now return to our regular programming.

Automatic variable highlighting in vim: the easy way

Three days ago, Ovid was nice enough to write about variable highlighting in vim. When I tried that vim script myself, I soon ran into the bug that was also found by Robin: If the cursor is above a hash, the actual use of the hash won't be matched.

So I took a look at the vimscript code and ... found that it's way too much code for my taste.

Overheard on stackoverflow

Commenter: why did you comment out use strict;?

OP: because i was getting errors and warnings because not all variables are defined as "my" or "our". it is for testing purposes only. I will uncomment that line later when the script works.


No link to protect the innocent.

Modules in core: who cares?

two-things-i-dont-like.jpeg

When I first read about the idea to remove CGI.pm from core, I was like "Yeah!". And then I thought about it and I was like "meh".

Who cares? Your typical noob that needs to be protected from the horrors of CGI.pm is not the kind of guy who builds his own perl. He is also not the kind of guy who uses an up-to-date perl. He probably has some company server running 5.8 or he might use whatever his hoster installed. Before he learns that there even is a core, he'll have a zoo of spaghetti cgi-scripts that won't work when using strictures.

But here is someone who will care about a missing CGI: the package maintainers of all the Linux distros out there. They will have to decide whether to pack CGI.pm into their main perl-package or whether to put it in its own new package. Since there are about a gazillion packages that quietly depend on CGI.pm, their most likely choice will be the former option.

So what I am trying to say is: You will not kill CGI.pm by removing it from core. But removing it from core will also not be noticed by any kind of user who doesn't know how to use a cpan client.