This perl module helps take un-sanitized tabular data sources and verify that they match your expected schema, and then iterate the records.
You can install the latest stable release of this module from CPAN:
cpanm Data::TableReader
or build and install this source code with the Dist::Zilla tool:
dzil build
cpanm ./Data-TableReader-$VERSION
The source is found at
http://github.com/nrdvana/perl-Data-TableReader