announcing Data::Table::Dynamic
Looks like I like tables. But unlike Math::Matrix this will be about organizing any data.
We already have Data::StaticTable, so why another Module - and please don't tell me you created this module because you do stuff slightly differently.
The module grows out of my project App::Goto, which I will talk about in Riga and is on github and soon cpan. Beside the fact that (indicated by the name and unlike the ''static table'') the content of this table can be changed after creation, (if this column was set as writable). It has required and optional columns which are typed and can have default values. Rows can be added, removed and reordered and include there fore the predefined columns indices ''pos'' (position) and ''ID'' (never changing nr set during creation time of a row). What is similar to the static table is that you can do SQL like queries (give me the rows where this column value satisfies this condition, but give be just these columns, in that order).
I think the biggest difference to the statice table and what makes this table especially dynamic is that you can associate columns with callbacks, so some values of a row may be update when a row gets triggered.
Due sensible defaults the definitions of such tables can be dense enough and with the callbacks you can avoid most of external logic, that changes the values. This way you can understand how the values develope over time at a glance, just while looking at the table creation statement.
Last not least is the feature of sorting the content along any column and omitting columns of your choosing. Formatting the output should no be the task of a data storage
Leave a comment