in reply to Binary File Handles and Scalars

Here's an excerpt from your create_record routine (slightly reformatted):

while( $unique eq 'false' ) { $unique = 'true'; $currentStatecode = rand( 99999999999 ); $currentStatecode = floor( $currentStatecode ); my $sqlQuery = "SELECT ID FROM IMAGEHOARD_MetaData WHERE ID = $currentStatecode"; my $query = $dbh->prepare( $sqlQuery ); $query->execute() || die $dbh->errstr; if( $duplicateStatecode = $query->fetchrow_array() ) { $unique = 'false'; } }

In english that would be

  1. Generate a random number
  2. See if that number exists in the database
  3. If so, go to step 1
There are simpler methods. :-)

One popular method is to use some sort of auto-increment field in the database. And if your database isn't driving the generation of the numbers, another method is to keep around a file that has the next unique number in it and each time it's used, increment the number and write it back to the file.