#!/usr/bin/perl -lpi.bak use strict; use warnings; use LWP::Simple; use HTML::TokeParser; sub get_title { my $doc=get $_ or warn "Couldn't get <$_>\n" and return; (my $p=HTML::TokeParser->new(\$doc)) ->get_tag('title') or return; $p->get_trimmed_text; } $_ or next; my $title; if (/wikipedia/) { $_=(split m|/|)[-1]; s/_/ /g; s/%(\w{2})/chr hex $1/ge; ($title=$_) =~ s/\s+\(.*?\)//; s|^|wp://|; } else { $title=get_title || 'NOT FOUND'; } $_="