Untested, but something like this should be well enough:
#!/usr/bin/perl
use warnings;
use strict;
use CGI 'redirect';
use LWP::Simple 'head';
if(head('http://siteB.com'))
{
print redirect('http://siteB.com');
}
else
{
print redirect('/404'); # already at siteA
}
head should return true (and some info) only if the site asked is up and working. If it isn't enough, you might want to look at
LWP head replacement, especially
merlyn's answer.
You have moved into a dark place.
It is pitch black. You are likely to be eaten by a grue.