2022-03-14 16:05:59 +08:00
|
|
|
This module exports a single function called parse_dir(), which can be
|
|
|
|
used to parse directory listings.
|
|
|
|
|
2011-12-15 04:21:31 +08:00
|
|
|
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.
|
2022-03-14 16:05:59 +08:00
|
|
|
|
2011-12-15 04:21:31 +08:00
|
|
|
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.
|
2022-03-14 16:05:59 +08:00
|
|
|
|
2011-12-15 04:21:31 +08:00
|
|
|
The third parameter is the type of listing to assume. Currently
|
|
|
|
supported formats are 'unix', 'apache' and 'dosftp'. The default value
|
|
|
|
'unix'. Ideally, the listing type should be determined automatically.
|
2022-03-14 16:05:59 +08:00
|
|
|
|
|
|
|
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'.
|
|
|
|
|
2011-12-15 04:21:31 +08:00
|
|
|
Only the first parameter is mandatory.
|
2022-03-14 16:05:59 +08:00
|
|
|
|
|
|
|
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().
|