You can alter an exit's destination via a script. You just need to set the "to" attribute. Make sure you've given the exit a name.
For example,
myexit.to = new_room
The syntax for "create exit" is:
create exit (string name, object from, object to, string type)
The final parameter is a string, so that's why your code is failing, as "South" is not a variable. The correct syntax would be:
create exit ("hatch", Helm, Starport, "southdirection")