Tiedhash & dbi/sql access to pipe delimited files
use AnyData; my $table = adHash( 'Pipe', $filename,'r',$flags ); while (my $row = each %$table) { print $row->{name},"\n" if $row->{country} =~ /us|mx|ca/; } # ... other tied hash operations OR use DBI my $dbh = DBI->connect('dbi:AnyData:'); $dbh->func('table1','Pipe', $filename,$flags,'ad_catalog'); my $hits = $dbh->selectall_arrayref( qq{ SELECT name FROM table1 WHERE country = 'us' }); # ... other DBI/SQL operations
This is a plug-in format parser for the AnyData and DBD::AnyData modules. It will read column names from the first row of the file, or accept names passed by the user. In addition to column names, the user may set other options as follows:
col_names : a pipe separated list of column names
If you are using this with DBD::AnyData, put ad_ in front of the flags, e.g. ad_eol.
Please refer to the documentation for AnyData.pm and DBD::AnyData.pm for further details.
copyright 2000, Jeff Zucker <[email protected]> all rights reserved