New line characters in the substitution string, perhaps? Dot doesn't match those unless you modify the line:
$solar_info =~ s/<\/solar>.*/,/s; -- Kevin Safford
-- ubuntu-uk@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-uk https://wiki.ubuntu.com/UKTeam/