While I'm working with PHP now at work, I still like to do some Perl hacking once in a while. As it turned out, this weekend (an extended one due to the fact we were given Thursday off because of Tzom Tammuz.), I spent a lot of time working on Perl and Perl-related projects. This entry aims to summarise what I've done so far, and what I'd like to do in the remains of the weekend and the upcoming days.
I uploaded 4 modules to the CPAN this weekend:
WWW-Search-MSN (version 0.0102). This fixed a small Build.PL bug where Encode was not mentioned in the dependencies, which caused "./Build test" to silently fail on perl 5.6.1 and below. (I always thought Encode was part of the core since perl 5.6.0, but I guess I had been wrong).
This bug was reported by purdy who's now credited in the Changes file (but not in the POD yet). There's another bug in the RT, but I may have fixed it in the process of getting W-S-MSN to recognise https:// URLs.
HTML-Latemp-GenMakeHelpers - this Latemp-assisting module was enhanced a bit. I used to use the wml interpreter with redirection (> $@) but this had a tendency to create empty files upon failure. Now it's more robust. While the make commands are written in shell, I had to use a File::Spec->rel2abs() invocation for getting the absolute location. Maybe there's a better way to do it in pure bash.
Error has been updated to version 0.17. A lot of the enhancements in it are the work of LeoNerd, which was given commit access to the Subversion repository. Other enhancements include an examples directory with some useful examples. (by LeoNerd and me).
Last but not least is
which as mentioned in this journal earlier is a File::Find replacement with
some advantages like being instantiable and the fact that the directory
tree traversal scan can be stopped in the middle. This version has
some cleanups, a more comprehensive test suite (with some meta-tests for
the testing API
It aims to be the last release before we convert the code to use File::Spec, as well as clean up the internals. At the moment File::Find::Object::internal is derived from File::Find::Object, and each of them contain one of the other. I told the original maintainer that I'd like to convert it into one class and one object, possibly with some helper objects of completely different classes.
But CPAN was not the only thing I worked on this weekend. I also started working on the site of a top-secret Perl distribution (ssshh! Don't tell anyone). I don't mind sharing this idea, because ideas are cheap, but I'd like to make a more official announcement when I have something to show for. (such as packages for one Linux distribution).
I also did some wiki work on http://perl.net.au/ and the Wikipedia. Another plan of mine was to start seriously learning Common Lisp this weekend. However, Lisp in a Box refused to build cleanly on my Linux machine. I guess I'll have to install XEmacs, SLIME and CLisp or SBCL the "hard way". I wonder if SLIME and one of Emacs' vi-emulation modes can play together well.
Finally, what would be a weekend without IRC? On #perlcafe we discussed Politics, religion, Julian Jaynes' Theory of the emergence of Human sentience, history and archaelogy and everything in between. Someone there seemed to have understood what I wanted to say (about animals not being sentient and about humans not having sentience until roughly ~1,000 B.C.) almost right away. Either he's more open for this, or I'm getting better at explaining this.
On #perl, we discussed many things with most of the regulars. One thing we touched upon was whether C has its place (buu does not seem to think so, but trying to convince him is futile), and also whether the fact that in perl doing $myobj->method_name() without knowing anything about $myobj and the interpreter just does the "right" thing is good or not. In C++, for example, it's impossible, yet some people feel it's better from "software engineery" point-of-view.
Finally, sili, mjl69 and I have decided to form the
perl-lovers-who-are-forced-to-use-PHP-against-their-will support group:
-- "Hi! My name is Shlomi, and I'm getting paid to write PHP code."
-- "Hello Shlomi! We all love you!"
In any case - cheers!