http://qs1969.pair.com?node_id=491558


in reply to How to get file descriptor (number)

What dave_the_m wrote is correct, as well as being a great example of using perldoc to read the Perl documentation.  (I use it so much on Linux that I've got "pd" aliased to "perldoc", and "pf" to "perldoc -f").

However, it looks like you are trying to open a directory ("/tmp") rather than a file.   If that's the case, you can still use a filehandle (I like to create it with FileHandle), but you probably want "readdir" rather than "open":

use FileHandle; my $fh = new FileHandle; my $dir = "/tmp"; opendir($fh, $dir) or die "Unable to open directory '$dir' ($!)\n" +; my @files = readdir($fh); closedir $fh;
At the end of this segment of code, the list "@files" will contain the files from the directory "/tmp".  Note that the names will NOT be full pathnames, so if you want that, you'll have to prepend "/tmp" to each member in the list:
map { $_ = "$dir/$_" } @files; # Prepend "/tmp" to all files
Another note -- the directories "." and ".." will also be in the list, and you usually want to skip them for any further processing.

I'll let you try "perldoc -f opendir" and "perldoc -f readdir" if you want to read more about them.

Replies are listed 'Best First'.
Re^2: How to get file descriptor (number)
by Hue-Bond (Priest) on Sep 13, 2005 at 15:30 UTC
    I use it so much on Linux that I've got "pd" aliased to "perldoc", and "pf" to "perldoc -f"

    Great idea! But, are you implying that you don't have a "pq" alias? ;^).

    --
    David Serrano

A reply falls below the community's threshold of quality. You may see it by logging in.