use strict; use warnings; use DBI; my $dbn = DBI->connect ("dbi:CSV:", "", "", { f_dir => "dbdcsv" } ); $dbn->do ("DROP TABLE data"); $dbn->do ("CREATE TABLE data (key1 CHAR (10), key2 CHAR(10), data CHAR(255) )"); my $sth = $dbn->prepare( "INSERT INTO data (key1, key2, data) VALUES (?, ?, ?)" ); while(){ chomp; $sth->execute( split /\s+/, $_, 3 ); } $sth = $dbn->prepare ( "SELECT * FROM data ORDER BY key1, key2" ); $sth->execute( ); $"="\t"; while( my $row = $sth->fetchrow_arrayref() ) { print "@$row\n"; } __DATA__ key1 key2 ndnjfgdsjfjjkjjfjf... key1 key2 kdfkjdfgdfugbjndkfgkjgndkjfjkd key43 key21 sdkjfhdghdbgbd key1 key3 jujdejnsduhffnjj key2 key2 jhzezhdjjf...