.... $dbh->do( "CREATE TABLE games (file varchar(30) primary key, name text, description text, counter int)" ); ...... my @row; my $select = $dbh->prepare( 'SELECT COUNT(*) FROM games where name=?' ); my $insert = $dbh->prepare( 'INSERT INTO games (file, name, description, counter) VALUES (?, ?, ?, ?)' ); my $update = $dbh->prepare( 'UPDATE games SET description=? where name=?' ); open (FILE, '<../data/games/descriptions.txt') or die $!; while () { chomp; my ($name, $description) = split /\t/; $select->execute($name); my $count; while( my $ref = $select-> fetchrow_arrayref() ) { $count = $ref->[0]; } if( $count == 0 ) { #a new game $insert->execute( $file, $name, $description, 0 ); } else { $update->execute( $description, $name ); } } close (FILE);