in reply to Retrieval of ID# as Integer from MySQL

Once you execute the SQL statement using $header_id->execute you then have to fetch the results back. When you're only expecting one result, the fetchrow_array method works just fine:

( my $header_id_num ) = $header_id->fetchrow_array;

For records with more fields, I'm partial to fetchrow_hashref:

my $record = $header_id->fetchrow_hashref; my $header_id_num = $record->{ 'id' };

As an aside, if you're not doing so already, I strongly recommend that you check the error status of your prepare and execute statements. It's saved my rear many a time.

$header_id = $dbh->prepare( $sql_command ) || die $dbh->errstr; $header_id->execute || die $dbh->errstr;

(Or use whatever you want in place of die...)

Note that the fetchrow returning 0 might just mean that you're at the end of a record, so you shouldn't check for errors there. I believe there is an error flag that is raised if your fetch fails for other reasons. Check the DBI docs for more info.

elbieelbieelbie