Reviews by Hakim



Devel-Declare-Lexer (0.014) *****

"Easier than Devel::Declare" is a rather modest goal to be fair, but I'm impressed with D::D::Lexer so far.

Documentation could do with some work, and the utility classes in ::Factory aren't quite complete, but working with this you mostly get a pleasant feeling of not banging your head against a confusing and fragile wall all the time. The debug output is also very helpful.

Perl-Tags (0.31)

The docs and structure has been significantly revised for recent releases.

Spreadsheet-WriteExcel (2.37)

I've used this module many times for working with the Horrible Spreadsheet Format, and am always impressed by it. The interface, while perhaps not perfect, does try to make most common tasks easy. Where that isn't the case, there may be a module in the CPAN ecosystem that handles things. And if not, the extensive documentation and examples probably have some advice or sample code to cadge.

Some examples:

* Unicode: just write the string with utf8, and it Just Works. (S::WE converts the data into Excel's required UTF16BE format, so you don't have to care). Really pleased with this useful attention to detail!

* Dates: this doesn't quite Just Work, but it's well documented, so you just have to make sure you issue a ->write_date_time call instead of the usual ->write.

* Formatting: S::WE::Styler lets you sensibly reuse styles. Ideally this could be merged into the release

* Autofit columns: that's a feature of the Excel client, not of the spreadsheet format. But the examples suggest how to replicate the functionality, by adding a write-handler that guesstimates and stores the maximum width for a given column.

bw-db (1.1.1) *

An amusing thin wrapper around DBI, with no useful tests, and the "silent failure on error" pattern. Yay.

Utterly ignorable, were it not for the author's "cheeky" 5* self-review.