NAME
Syndication::ESF - Create and update ESF files
SYNOPSIS
use Syndication::ESF;
my $esf = Syndication::ESF->new;
$esf->parsefile( 'my.esf' );
$esf->channel( title => 'My channel' );
$esf->add_item(
date => time,
title => 'new item',
link => 'http://example.org/#foo'
);
print "Channel: ", $esf->channel( 'title' ), "\n";
print "Items : ", scalar @{ $esf->{ items } }, "\n";
my $output = $esf->as_string;
$esf->save( 'my.esf' );
DESCRIPTION
This module is the basic framework for creating and maintaing Epistula
Syndication Format (ESF) files. More information on the format can be
found at the Aquarionics web site:
http://www.aquarionics.com/article/name/esf
This module tries to copy the XML::RSS module's interface. All
applicable methods have been copied and should respond in the same
manner.
Like in XML::RSS, channel data is accessed through the "channel()" sub,
and item data is accessed straight out of the items array.
INSTALLATION
perl Makefile.PL
make
make test
make install
METHODS
new()
Creates a new Syndication::ESF object. It currently does not accept any
parameters.
channel(title => $title, contact => $contact, link => $link)
Supplying no parameters will give you a reference to the channel data.
Specifying a field name returns the value of the field. Giving it a hash
will update the channel data with the supplied values.
contact_name()
shortcut to get the contact name
contact_email()
shortcut to get the contact email
add_item(date => $date, title => $title, link => $link, mode => $mode)
By default, this will append the new item to the end of the list.
Specifying 'insert' for the "mode" parameter adds it to the front of the
list.
parse($string)
Parse the supplied raw ESF data.
parsefile($filename)
Same as "parse()", but takes a filename as input.
as_string()
Returns the current data stored in the object as a string.
save($filename)
Saves the value of "as_string()" to the supplied filename.
AUTHOR
Brian Cassidy <bricas@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2003-2009 by Brian Cassidy
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
* XML::RSS