summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2012-02-15 22:03:22 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2012-02-15 22:03:22 +0000
commitc1655656f083337cbfd901455db96695890f2d89 (patch)
tree0be9d4592ab1867c34a6f803724c8aab477f5aa7 /README
downloadFile-Listing-tarball-master.tar.gz
Diffstat (limited to 'README')
-rw-r--r--README57
1 files changed, 57 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..4700c56
--- /dev/null
+++ b/README
@@ -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.
+