package App::Info::HTTPD; # $Id: HTTPD.pm 3180 2006-09-25 17:56:07Z theory $ use strict; use App::Info; use vars qw(@ISA $VERSION); @ISA = qw(App::Info); $VERSION = '0.52'; my $croak = sub { my ($caller, $meth) = @_; $caller = ref $caller || $caller; if ($caller eq __PACKAGE__) { $meth = __PACKAGE__ . '::' . shift; Carp::croak(__PACKAGE__ . " is an abstract base class. Attempt to " . " call non-existent method $meth"); } else { Carp::croak("Class $caller inherited from the abstract base class " . __PACKAGE__ . "but failed to redefine the $meth method. " . "Attempt to call non-existent method ${caller}::$meth"); } }; sub httpd_root { $croak->(shift, 'httpd_root') } 1; __END__ =head1 NAME App::Info::HTTPD - Information about web servers on a system =head1 DESCRIPTION This subclass of App::Info is an abstract base class for subclasses that provide information about web servers. Its subclasses are required to implement its interface. See L for a complete description and L for an example implementation. =head1 INTERFACE In addition to the methods outlined by its App::Info parent class, App::Info::HTTPD offers the following abstract methods =head1 OBJECT METHODS =head2 httpd_root my $httpd_root = $app->httpd_root; The root directory of the HTTPD server. =head1 BUGS Please send bug reports to or file them at L. =head1 AUTHOR David Wheeler =head1 SEE ALSO L, L =head1 COPYRIGHT AND LICENSE Copyright (c) 2002-2006, David Wheeler. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut