http://www.perlmonks.org?node_id=882669


in reply to GD resize problems

I know you already have a solution, but I think the original problem is buffering. After the

while ( <$filehandle> ){ print UPLOADFILE; }
loop you don't close UPLOADFILE before trying to use the file it's writing to. So likely the last part of the file just isn't flushed to disk yet when GD reads it.

Just to check, could you try adding a close UPLOADFILE after the while loop and see if that fixes things?