File::List::Object - why I wrote it.
Jul. 22nd, 2009 09:34 amFile::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.
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.