Well, I couldn't think how to get the door's location. It's private information in the door object, destination is more public, but perl doesn't have access to the door object. (That's pretty easy to fix though).
I gave myself a limitation: No source modifications. Haha.
With source mods I could reduce the perl code substantially, for sure. And the entity loop was because I can't seem to access the Group object via perl. If I know the client ID's of each group member I don't have to loop through a ton of entities to match up group members.
That's probably two things that should be added to perl scripting, but, meh.. I made due without.
It'll be a good example for others who want to delve into the perl scripting langauge a bit more.