my $sth = $dbh->prepare("SELECT processID, processCode FROM processList") or die "bad db: ".$dbh->errstr(); $sth->execute or die "worse DB: ".$dbh->errstr(); my $sth2 = $dbh->prepare("UPDATE blobs SET graphic = ? WHERE processID = ?") or die "ugly DB: ".$dbh->errstr(); while (my $ref = $sth->fetchrow_hashref) { my $processID = $ref->{'processID'}; my $processCode = $ref->{'processCode'}; my @names = glob($processCode . "_*.PNG"); if ($#names != 0) { die "problem with $processCode, got ", join(", ", @names); } my $image = Image::Magick->new; my $rv = $image->Read($names[0]); die $rv if $rv; my $blob = $image->ImageToBlob(); $sth2->execute($blob, $processID) or die "can't store blob for $names[0] under processID $processID: $!"; print "Stored blob $names[0] for processID $processID\n"; }