CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
Search Posts SEARCH
Who's Online WHO'S
Log in LOG

Home: Perl Programming Help: Beginner:
File existance



Mar 4, 2001, 3:43 AM

Post #1 of 3 (528 views)
File existance Can't Post

I did check the freq asked questions, but didn't see this. How can I check for the existance of a file?


Mar 4, 2001, 4:45 AM

Post #2 of 3 (527 views)
Re: File existance [In reply to] Can't Post

You problem can be solved in the following way:

my $filename = "/path/filename"; 
print "File $filename exists. \n" if -e $filename;

For full list of file functions see perlfunc mna pages.
You might find the following lines very useful:

-X filehandle
-X filename
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 otherwise documented, it returns 1 for true and '' for false, or the undefined value if the file doesn't exist. Despite the funny names, precedence is the same as any other named unary operator, 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.
-s File has nonzero size (returns size).
-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.

Jean Spector
QA Engineer @ Extent Technologies, Ltd.


Mar 4, 2001, 6:50 AM

Post #3 of 3 (526 views)
Re: File existance [In reply to] Can't Post

Wow! That's a whopper of a reply - and greatly appreciated. Thanks for that.




Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives