diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2012-02-15 22:03:22 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2012-02-15 22:03:22 +0000 |
commit | c1655656f083337cbfd901455db96695890f2d89 (patch) | |
tree | 0be9d4592ab1867c34a6f803724c8aab477f5aa7 /README | |
download | File-Listing-tarball-master.tar.gz |
File-Listing-6.04HEADFile-Listing-6.04master
Diffstat (limited to 'README')
-rw-r--r-- | README | 57 |
1 files changed, 57 insertions, 0 deletions
@@ -0,0 +1,57 @@ +NAME + File::Listing - parse directory listing + +SYNOPSIS + use File::Listing qw(parse_dir); + $ENV{LANG} = "C"; # dates in non-English locales not supported + for (parse_dir(`ls -l`)) { + ($name, $type, $size, $mtime, $mode) = @$_; + next if $type ne 'f'; # plain file + #... + } + + # directory listing can also be read from a file + open(LISTING, "zcat ls-lR.gz|"); + $dir = parse_dir(\*LISTING, '+0000'); + +DESCRIPTION + This module exports a single function called parse_dir(), which can be + used to parse directory listings. + + The first parameter to parse_dir() is the directory listing to parse. It + can be a scalar, a reference to an array of directory lines or a glob + representing a filehandle to read the directory listing from. + + The second parameter is the time zone to use when parsing time stamps in + the listing. If this value is undefined, then the local time zone is + assumed. + + The third parameter is the type of listing to assume. Currently + supported formats are 'unix', 'apache' and 'dosftp'. The default value + is 'unix'. Ideally, the listing type should be determined automatically. + + The fourth parameter specifies how unparseable lines should be treated. + Values can be 'ignore', 'warn' or a code reference. Warn means that the + perl warn() function will be called. If a code reference is passed, then + this routine will be called and the return value from it will be + incorporated in the listing. The default is 'ignore'. + + Only the first parameter is mandatory. + + The return value from parse_dir() is a list of directory entries. In a + scalar context the return value is a reference to the list. The + directory entries are represented by an array consisting of [ $filename, + $filetype, $filesize, $filetime, $filemode ]. The $filetype value is one + of the letters 'f', 'd', 'l' or '?'. The $filetime value is the seconds + since Jan 1, 1970. The $filemode is a bitmask like the mode returned by + stat(). + +COPYRIGHT + Copyright 1996-2010, Gisle Aas + + Based on lsparse.pl (from Lee McLoughlin's ftp mirror package) and + Net::FTP's parse_dir (Graham Barr). + + This library is free software; you can redistribute it and/or modify it + under the same terms as Perl itself. + |