in reply to A generic biomedical data processing library

... By structure of data I mean which variable is in which place and its name/type.

Maybe specify a template similar in spirit to Perl's pack, e.g. something like

"a,a,c,i,a,c,..." # to be used in: my ($foo, $bar, $baz, ...) = unpack_line("a,a,c,i,a,c,...", $line) +; # or my $parser = My::Module->new( template => "a,a,c,i,a,c,..." ); my ($foo, $bar, $baz, ...) = $parser->read_line();

(where a / c / i would stand for categorical / continuous / identifier, etc.)

Or together with names:

"foo:a, bar:c, baz:i, ..." my %fields = unpack_line("foo:a, bar:c, baz:i, ...", $line);

Of course, there are many other ways to approach this, so possibly ask your potential users what interface or mini template language they would prefer...