The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WWW::IndexParser - Fetch and parse the directory index from a web server

SYNOPSIS

 use WWW::IndexParser;
 my @files = WWW::IndexParser->new(url => 'http://www.example.com/dir/');
 foreach my $entry (@files) {
   printf "%s %s\n", $entry->filename, 
        scalar(localtime($entry->time)||'');
 }

DESCRIPTION

WWW::IndexParser is a module that uses LWP to fetch a URL from a web server. It then atempts to parse this page as if it were an auto generated index page. It returns an array of WWW::IndexParser::Entry objects, one per entry in the directory index that it has found. Each Entry has a set of methods: filename(), time(), size(), and others if supported by the autoindex generated: type() and size_units().

CONSTRUCTOR

new ( url => $url, timeout => $seconds, proxy => $proxy_url, debug => 1 )

When called with a URL to examine, this method does not return an object, but an array of WWW::IndexParser::Entry obects, one per entry in the directory listing that was accessed.

The options to this are:

url

The complete URL of the index to fetch.

timeout

The timeout for the request to fetch data, default 10 seconds.

proxy

A proxy server URL, eg, 'http://proxy:3128/'.

debug

Decide if to print parsing debug information. Set to 0 (the default) to disable, or anything non-false to print. Recommened you use a digit (ie, 1) as this may become a numeric 'level' of debug in the future.

METHODS

All methods are private in this module. Pass only a URL to the constructor, and it does everything for you itself.

PREREQUISUTES

This modile depends upon LWP, HTML::Parser, Time::Local.

OSNAMES

any

BUGS

Currently only supports Apache, IIS and Tomcat style auto indexes. Send suggestions for new Auto-Indexes to support to the author (along with sample HTML)!

AUTHOR

James Bromberger <james@rcpt.to>

COPYRIGHT

Copyright (c) 2006 James Bromberger. All rights reserved. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.