Ah, it looks like you'll have to change this bit:
my ($base_url) = $url =~ m,^https?://[^/]+(.*),;
Try:
my ($base_url) = $url =~ m,^(/.*),;
my ($base_url) = $url =~ m,^https?://[^/]+(.*),;
Try:
my ($base_url) = $url =~ m,^(/.*),;