On Sun, 15 Dec 2002, Colin Watson wrote:
> On Sun, Dec 15, 2002 at 05:31:15PM +0100, Michael Naumann wrote:
> > when I do from perl
> > @f = stat "f";
> > @sl2f = stat "sl2f";
> > I always get the same contents in @sl2f as in @f, i.e stat follows the link.
> > Thus I cannot decide via stat,
> > whether the file in question is a symlink or a not.
>
> Use lstat().
>
Alternatively, use the file test operators. From man perlfunc:
-X FILEHANDLE
-X EXPR
-X A file test, where X is one of the letters listed
below. This unary operator takes one argument,
either a filename or a filehandle, and tests the
associated file to see if something is true about
it. If the argument is omitted, tests "$_",
except for "-t", which tests STDIN. Unless other�
wise documented, it returns "1" for true and "''"
for false, or the undefined value if the file
doesn't exist. Despite the funny names, prece�
dence is the same as any other named unary opera�
tor, and the argument may be parenthesized like
any other unary operator. The operator may be any
of:
-r File is readable by effective uid/gid.
-w File is writable by effective uid/gid.
-x File is executable by effective uid/gid.
-o File is owned by effective uid.
-R File is readable by real uid/gid.
-W File is writable by real uid/gid.
-X File is executable by real uid/gid.
-O File is owned by real uid.
-e File exists.
-z File has zero size (is empty).
-s File has nonzero size (returns size in bytes).
-f File is a plain file.
-d File is a directory.
-l File is a symbolic link.
-p File is a named pipe (FIFO), or Filehandle is a
pipe.
-S File is a socket.
-b File is a block special file.
-c File is a character special file.
-t Filehandle is opened to a tty.
-u File has setuid bit set.
-g File has setgid bit set.
-k File has sticky bit set.
-T File is an ASCII text file.
-B File is a "binary" file (opposite of -T).
-M Age of file in days when script started.
-A Same for access time.
-C Same for inode change time.
----------------------------------------------------------------------
Andrew J Perrin - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
[EMAIL PROTECTED] * andrew_perrin (at) unc.edu
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]