in reply to Can't update file

A few comments:

For deleting a file, instead of shelling out to "rm", use the built in Perl function unlink. It is much faster and is portable across OS'es. Update: unlink returns the number of files deleted. So you can easily tell if it worked or not.

This open, open ( MD5, '+>>', $md5File ), looks weird to me. I'd have to dig around a bit in the docs and do some experiments to figure exactly what that is going to do. I guess that means, read / append. In any event, you are just reading the file. Use open ( MD5, '<', $md5File ) instead. That more accurately describes what you are doing with the file.

BTW, '+<' would be the normal way to open an existing file for read/write. '>+' is also read/write, but clobbers the file when opened initially (starts with a blank file). Its been awhile since I worked with a read/write file. Usually you need an intervening seek to flush buffers when switching between read and write. I'm not sure about '+>>'. In any event, you are not doing both reading and writing on this file, so there is no need to open with a mode that would allow that.

print "md5row    = ${md5row}\n"; There is no need for the {} here. &loggingError(...) There is no need for the &. You can read more at perlsub.

Update: This code, $md5row = <MD5>; reads a line including the line ending character(s) from the file handle MD5. I think that you need a chomp $md5row; to get rid of the line ending character(s).