The rebuild was done a few days back. is now up.

Now I can concentrate on some documentation, and on Perl::Dist::Padre and the next version of Strawberry Perl.

But I needed a break for a few days, and my personal Perl code website at had been sadly neglected.

Previously, I had used a script on my laptop (since lost - the script, not the laptop) that used Perl::Tidy to do the formatting. The problem was, Perl::Tidy made some ugly HTML, and it didn't support having some of the links point back at an internal site. I had to run like 20 different regexes in my script, and they were different for every distribution. (I ended up deciding to store them in a YAML file.) Tedious work.

So I wrote a utility module that did what I wanted it to - to format Pod and syntax highlight Perl code into (X)HTML, and to do it in the same .html file, and to allow both internal and external linking.

That module has been released to CPAN as Pod::Simple::XHTML::BlendedCode. The repository for it is at - I wanted to experiment with Mercurial, and I think I like it! Less clumsy than Git as far as Windows support goes, too.

The syntax highlighting is done by passing code fragments to PPI::HTML, so it's described there.

The module should work on any operating system. The script I used to do the formatting, and 5 updated distributions, are now on the web site, and as I get around to it, I can process and upload a distribution in about 15-30 minutes. The only thing it doesn't do (yet) is create a fragment for the tree on the left side for me.
File::List::Object was made to "fill in a hole" that I saw in the CPAN module space - a way to manipulate a list of files as a list.

It's implemented using Moose - this is my first Moose class. In the future, most of the Perl::Dist::WiX build process will be implemented using Moose classes and roles.

I saw the hole while I was working on Perl::Dist::WiX. In that module, I need to pick up the lists of files installed by different perl modules and binary packages, and to be able to add, subtract, filter, etc. files from them. The reason that's the case is that Windows Installer needs to keep track of every file within an installation package - I can't just say "package up everything that was in my source C:\strawberry and install that" like the Inno Setup-based versions of Strawberry did. So I used the predecessor of this module to abstract out the keeping track. I tried looking for it on CPAN, and when I realized that this was not there, and that I could see more general uses for the module, I separated it out and put it on CPAN.

One thing I use this module for is to check and see if I'm installing the same list of files from my zip files as my msi files. I extract the zip and do a dir /s /w /b to create a filelist. Next, I delete the extracted directory, install the zip, and do another dir /s /w /b. After that, I install this module and run a short script (that's in the examples directory) to create a list of which files are missing.



June 2011

192021 22232425

Style Credit


RSS Atom
Page generated Oct. 23rd, 2017 03:13 pm
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags

Most Popular Tags