#!/usr/bin/perl #use lib qw(/data/www/www.eduserv.org.uk/docs/foundation/cgi-bin/xml/lib/perl5/site_perl/5.8.2/) use CGI; use XML::RSS; use LWP::Simple; require "timelocal.pl"; my $rss_url = "http://twitter.com/statuses/friends_timeline/secondfriends.rss"; my $q = new CGI; print $q->header("text/plain"); my $rssFile = get($rss_url); if ($rssFile) { my $rss = new XML::RSS; $rss->parse($rssFile); for my $item (@{$rss->{items}}) { my ($twitterid, $status) = split(/: /, $item->{title}, 2); # Sun, 20 Apr 2008 08:19:05 +0000 my $date = $item->{pubDate}; my $link = $item->{link}; my ($D, $d, $M, $y, $t, $tz) = split(/ /, $date); my ($hh, $mm, $ss) = split(/:/, $t); if ($M eq 'Jan') { $m = 0; } elsif ($M eq 'Feb') {$m = 1; } elsif ($M eq 'Mar') {$m = 2; } elsif ($M eq 'Apr') {$m = 3; } elsif ($M eq 'May') {$m = 4; } elsif ($M eq 'Jun') {$m = 5; } elsif ($M eq 'Jul') {$m = 6; } elsif ($M eq 'Aug') {$m = 7; } elsif ($M eq 'Sep') {$m = 8; } elsif ($M eq 'Oct') {$m = 9; } elsif ($M eq 'Nov') {$m = 10; } elsif ($M eq 'Dec') {$m = 11; } $ttimestamp = timegm(($ss, $mm, $hh, $d, $m, $y)); $age = time - $ttimestamp; if ($age > 31536000) { $a = "more than a year ago"; } elsif ($age > 15768000) { $a = "more than 6 months ago"; } elsif ($age > 5184000) { $a = "more than 2 months ago"; } elsif ($age > 2592000) { $a = "more than 1 month ago"; } elsif ($age > 1209600) { $a = "more than 2 weeks ago"; } elsif ($age > 604800) { $a = "more than 1 week ago"; } elsif ($age > 172800) { $a = "more than 2 days ago"; } elsif ($age > 86400) { $a = "more than 1 day ago"; } elsif ($age > 43200) { $a = "more than 12 hours ago"; } elsif ($age > 21600) { $a = "more than 6 hours ago"; } elsif ($age > 7200) { $a = "more than 2 hours ago"; } elsif ($age > 3600) { $a = "more than 1 hour ago"; } elsif ($age > 1800) { $a = "more than 30 minutes ago"; } elsif ($age > 900) { $a = "more than 15 minutes ago"; } elsif ($age > 600) { $a = "more than 10 minutes ago"; } elsif ($age > 300) { $a = "more than 5 minutes ago"; } else { $a = "just now"; } $status =~ s/\n/ /gm; $status =~ s/ */ /g; print "$twitterid [$a]: $status\n"; } } else { # error retriving file - print message... die "Can't connect to RSS URL: $rss_url"; }