in reply to filesize not returned?

Basic debugging would have answered your question.

Were you to check $! after -s returned undef, it would tell you file not found.

Were you to check the path you were passing to -s, you would have noticed how it was incorrect.

readdir returns file names (not paths), so you're asking Perl to get the size of file (as in ./file, which doesn't exist) instead of /home/msnyder/bin/etc_copy/file