NAME

SWISH::Prog::Utils - utility variables and methods

SYNOPSIS

use SWISH::Prog::Utils;

# use the utils

DESCRIPTION

This class provides commonly used variables and methods shared by many classes in the SWISH::Prog project.

VARIABLES

$ExtRE

Regular expression of common file type extensions.

%ParserTypes

Hash of MIME types to their equivalent parser.

METHODS

mime_type( url [, ext ] )

Returns MIME type for url. If ext is used, that is checked against MIME::Types. Otherwise the url is parsed for an extension using path_parts() and then fed to MIME::Types.

parser_for( url )

Returns the SWISH parser type for url. This can be configured via the %ParserTypes class variable.

path_parts( url [, regex ] )

Returns array of path, file and extension using the File::Basename module. If regex is missing or false, uses $ExtRE.

perl_to_xml( ref, root_element [, strip_plural ] )

Similar to the XML::Simple XMLout() feature, perl_to_xml() will take a Perl data structure ref and convert it to XML, using root_element as the top-level element.

As of version 0.38 this method is now part of Search::Tools and included here simply as a backcompat feature.

write_log( args )

Logging method. By default writes to stderr via warn().

args is a key/value pair hash, with keys uri and msg.

write_log_line([char, width])

Writes char x width to stderr, to provide some visual separation when viewing logs. char defaults to - and width to 80.

AUTHOR

Peter Karman, <perl@peknet.com>

BUGS

Please report any bugs or feature requests to bug-swish-prog at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc SWISH::Prog

You can also look for information at:

COPYRIGHT AND LICENSE

Copyright 2008-2009 by Peter Karman

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

http://swish-e.org/