WWW::Mechanizeを利用してサイトのデータを取得。エンコードの解決のために一旦Mechanizeオブジェクトが保持するcontentからエンコード形式を推測しておかないといけない。

use strict;
use warnings;
use WWW::Mechanize;
use Encode;
use Encode::Guess;
use encoding 'shiftjis';


my $mech = new WWW::Mechanize();
$mech->get("http://www.yahoo.co.jp");
my $enc = guess_encoding($mech->content(), qw(euc-jp shiftjis utf8));

my @links = $mech->links();
for my $link (@links){
	my $url = $enc->decode($link->url());
	my $text = $enc->decode($link->text());
	print "$text : $url\n";
}