Strawberry Perl released

Strawberry Perl is available at
(all editions: MSI, ZIP, PortableZIP for both: 32/64bit MS Windows)

More details in Release Notes:

RFC Module::Build::CleanInstall

Edit: Module::Build::CleanInstall has been released!

Following the recent work (chronicled here) by Yanick Champoux and this StackOverflow question, I got it into my mind to try to write a Module::Build subclass which first removes all the files previously installed by a module before installing the new version. In those posts, this is motivated by File::ShareDir concerns, but this problem is more general than that.

If your new version of a module does not come with some file that a previous version did, installing the new version will not remove that file. Most of the time this is ok, but every now and again you need to know that those files don’t exist. That’s usually when you see warnings in the POD saying, “be sure to remove all previous installations …” or “only install on a fresh copy of Perl”. The author knows that a problem is possible, but the user has to fix it. Sounds bad.

git related bourne-like shell functions

Wanted to post git related shell functions, so they are now at PerlMonks.

How to put desired data & snaps in word .doc defined format from xls & snaps folder?

I have an xls containing (Sr. Name Address Remarks etc) & a folder containing pictures with the same Name as in xls Name.
Now I want to convert desired data from excel & snaps/images from folder to a Word .doc file which has a format (Sr. Name Address Remarks etc & a portion for placing snaps/images.
Is there any SCRIPT or Software which runs & creates .Doc file.

Tree, Tree::Binary, Tree::DAG_Node, Tree::Persist and Forest


I wanted to title this post: The Tree::Hugger Chronicles: Tree, etc, but that was too long.

Anyway, I mention Forest only to say I won't mention it further.

I've become co-maint (or accidentally, owner) of various Tree-ish modules, so I thought I mention what's up. Each module is followed by an extract from the CHANGES file.

o Tree: I've just released V 1.03:
- Rename Tree::Binary to Tree::Binary2 so it no longer clashes with the Tree::Binary shipped in the Tree-Binary distro. MetaCPAN was getting confused, and automatically redirected links from this module's Tree:Binary to the other one.

o Tree:Binary: No activity.

CPAN In The Sky With Diamonds

A few weeks ago, I pondered a service for hosting private CPAN repositories in the cloud. The idea was well received, so I pulled together a prototype. The result is here:

Be aware that this site is not secure nor reliable, but I think it demonstrates the concept pretty well. Most of the links on the landing page go nowhere. Just click the big "Sign Up Now" button and you'll be on your way. If you like what you see, let me know.

Another view of XML schema attributes vs. elements

Another way to look at whether you should add information as an attribute or a child element while designing an XML schema element is whether you are talking about an IS-A or a HAS-A relationship.

Attributes are great for IS-A relationships -- "I am an element with ID='20121101-i1' or "I am an element for the Dublin Core (METS MDTYPE='DC')".

Child elements are great for HAS-A relationships -- "I have several groups of files" or "I have binary and XML data for a file".

When to create a branch in Git?

Upon reflection:

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 297 commits.

I think maybe I should have created a branch…

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.