evolving

Monday 9th June, 2003

Whoops, on the way down to Old Street suddenly realised that were some useful File::Find::Rule extensions that I wanted and knew how to hack up.

I was after a quiet time, but instead I have all these modules to finish: File::Find::Rule::CVS, Parse::CVSEntries, and File::Find::Rule::Subversion (which will have to grow a corresponding Parse::SVNEntries, or maybe it'll cross the streams with FFR::CVS to become FFR::Sandbox.)

Renamed Class::DBI:AutoBase to Class::DBI::BaseDSN, and released the sucker to CPAN.

Speaking of File::Find::Rule, did a bit of documentation hacking on it on the way home which split the documentation of the procedural interface out. This is because people seem to get confused between when to use anonymous lists.

For the straight object interface, you can easily pass multiple values, as the calls are clearly marked out:

 File::Find::Rule->name( '*.pm', 'foo.*' );

But for the procedure call you have to pass lists as arrayrefs, so we know where to stop:

 rule( name => [ '*.pm', 'foo.*' ] );

Which (understandably) leads to people trying this, which much to their surprise doesn't work:

 File::Find::Rule->name( [ '*.pm', 'foo.*' ] );

Hopefully by splitting them out people won't see both at the same time, and so won't get confused. Hopefully.