create function saints_in_our_book() returns table ( rank integer , userid integer , username text , xp integer , userlevel text , writeups integer , usersince timestamp , lasthere text ) language plperlu as $plp$ use strict; use warnings; use LWP::Simple; use IO::String; my $url = "http://perlmonks.org/?node_id=3559"; my $io = IO::String->new(get($url)); while ( <$io> ) { chomp; if(m, ^ ([0-9]+) # rank # userid ([^<]+) # username ([0-9]+) # xp ([a-zA-Z]+\s+\([0-9]+\)) # userlevel ([0-9]+) # writeups ([^<]+) # usersince ([^<]+) # lasthere $ ,x ) { return_next ( { rank => $1 , userid => $2 , username => $3 , xp => $4 , userlevel => $5 , writeups => $6 , usersince => $7 , lasthere => $8 } ); } } return undef; $plp$;