XML::RSS::Headline::PerlJobs - XML::RSS::Headline Example Subclass


XML-RSS-Feed documentation Contained in the XML-RSS-Feed distribution.

Index


Code Index:

NAME

Top

XML::RSS::Headline::PerlJobs - XML::RSS::Headline Example Subclass

VERSION

Top

2.32

SYNOPSIS

Top

You can also subclass XML::RSS::Headline to provide a 'multiline' RSS headline based on additional information inside the RSS Feed. Here is an example for the Perl Jobs (jobs.perl.org) RSS feed by simply passing in the hlobj class name.

    use XML::RSS::Feed;
    use XML::RSS::Headline::PerlJobs;
    use LWP::Simple qw(get);

    my $feed = XML::RSS::Feed->new(
	name  => "perljobs",
	url   => "http://jobs.perl.org/rss/standard.rss",
	hlobj => "XML::RSS::Headline::PerlJobs",
    );

    while (1) {
	$feed->parse(get($feed->url));
	print $_->headline . "\n" for $feed->late_breaking_news;
	sleep($feed->delay); 
    }

Here is the output from rssbot on irc.perl.org in channel #news (which uses these modules)

    <rssbot>  + Part Time Perl
    <rssbot>    Brian Koontz - United States, TX, Dallas
    <rssbot>    Part time, Independent contractor (project-based)
    <rssbot>    http://jobs.perl.org/job/950

MUTAITED METHOD

Top

$headline->item( $item )

Init the object for a parsed RSS item returned by XML::RSS.

AUTHOR

Top

Jeff Bisbee, <jbisbee at cpan.org>

BUGS

Top

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

SUPPORT

Top

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

    perldoc XML::RSS::Headline::PerlJobs

You can also look for information at:

* AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/XML-RSS-Feed

* CPAN Ratings

http://cpanratings.perl.org/d/XML-RSS-Feed

* RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-RSS-Feed

* Search CPAN

http://search.cpan.org/dist/XML-RSS-Feed

ACKNOWLEDGEMENTS

Top

Special thanks to Rocco Caputo, Martijn van Beers, Sean Burke, Prakash Kailasa and Randal Schwartz for their help, guidance, patience, and bug reports. Guys thanks for actually taking time to use the code and give good, honest feedback.

COPYRIGHT & LICENSE

Top

SEE ALSO

Top

XML::RSS::Feed, XML::RSS::Headline, XML::RSS::Headline::Fark, XML::RSS::Headline::UsePerlJournals, POE::Component::RSSAggregator


XML-RSS-Feed documentation Contained in the XML-RSS-Feed distribution.

package XML::RSS::Headline::PerlJobs;
use strict;
use warnings;
use base qw(XML::RSS::Headline);

our $VERSION = 2.32;

sub item {
    my ($self,$item) = @_;
    $self->SUPER::item($item); # set url and description

    my $key = 'http://jobs.perl.org/rss/';

    my $name     = $item->{$key}{company_name}     || '';
    my $location = $item->{$key}{location}         || 'Unknown Location';
    my $hours    = $item->{$key}{hours}            || 'Unknown Hours';
    my $terms    = $item->{$key}{employment_terms} || 'Unknown Terms';

    my $name_location = $name ? $name . ' - ' . $location : $location;
    $self->headline("$item->{title}\n$name_location\n$hours, $terms");

    return;
}

1;

__END__