LWP::Authen::Digest を使って perl でDigest認証

LWP::Authen::Digestを使えば簡単

use LWP;
use LWP::Authen::Digest;

my $username = "hoge";
my $password = "fuga";
my $url = "http://x68000.q-e-d.net/~68user/net/sample/http-auth-digest/secret.html";
my $host_port = "x68000.q-e-d.net:80";
my $realm = "Secret Zone";
my $browser = LWP::UserAgent->new();

$browser->env_proxy;
$browser->credentials("$host_port","$realm","$username","$password");
my $response=$browser->get($url);

if($response->is_success) {
print $response->decoded_content;
}
else {
die $response->status_line;
}

ダイジェスト認証自体の詳細はこの辺を参照で。
http://x68000.q-e-d.net/~68user/net/http-auth-2.html