in reply to Managing a on-call Schedule

Net::ICal would be just the ticket for you, if it weren't for the fact that it's unmaintained. I'd take Chris Dolan's review of it to heart. See if you can patch it for yourself, or use an alternative.