in reply to system command returns immediately before excel is exited

In any Windows programming situation, you want to use OLE (ActiveX) to open the document (and/or the application) “as an object.”   Perl is, of course, more than up to the task.

If you “open a document,” Windows (of course...) launches a separate process and does not wait for it.