in reply to I need speed...
I can't answer questions 1 or 2, but you can gain some speed by replacing the regular expressions in your script by substr
for example /^N/ to substr($a,0,1) eq 'N'
extract a thumb_id by using $id = substr($a,1)
you would probably do better performance wise to store the ID's in a hash with the ID as a key and the Y and N as the value, or have an array for approved and one for not approved, then grep to see if IDs are approved or not.
Your &check_image function can also be called from a &check_images wrapper that accepts a list of images and forks several &check_image instances. That will really speed up things since it has to go over the web.
Touching a bit on question 1 after all... if you store that hash or two perl arrays (Y and N) in a file using the FreezeThaw module you don't need to parse the data for approved/not everytime you read it in. Just an idea.
Hope something up there was helpful...
Tiago
Update: as you mentioned, Mysql will probably be faster once a certain number of ID's is cached, and use numeric fields and enum for Y/N. a variable length table (varchar, glob, text) will not perform as well. LIKE is also evil in that sense.