in reply to Re: -s testing for empty file; works on local, but not on remote
in thread -s testing for empty file; works on local, but not on remote

I'm not exactly certain, but when I started using -z, the remote program began catching my empty files like the local one.
  • Comment on Re^2: -s testing for empty file; works on local, but not on remote

Replies are listed 'Best First'.
Re^3: -s testing for empty file; works on local, but not on remote
by ikegami (Patriarch) on Sep 27, 2011 at 18:58 UTC

    There is one difference:

    If you don't check for errors, errors (incl non-existent files) being returned by -s will be mistaken as empty file.

    If you don't check for errors, errors (incl non-existent files) being returned by -z will be mistaken as non-empty file.

      What exactly do you mean by 'error'? if the -s/-z can't figure if the file has anything in it or not?

        stat can fail for a number of reasons.

        Add the following before the if (-s) line:

        use Data::Dumper; print(Dumper(-s "/home/vcg/Documents/Trial/temp")); print(Dumper("$!"));

        What's the output?

      I see your point. Thanks.