in reply to interaction perl - Korn shell variables

The reason for SCRIPTS=/ontw/bin/app: is not an identifier is that (as others said) you are executing the script under the Bourne shell. You might say, "what about the #!/bin/ksh?", well that is ignored as a comment with the "dot" command. You might also reasonably say, "why is the export failing, when that is a POSIX complient command?". Unfortunately many commercial Bourne shells are still not POSIX complient.
Although even if it did not give the error you still cannot execute the korn shell language from the Perl language.

I suggest you do the following: have a shell script wrapper which executes the required preamble, and then calls the "real" script. The name of that script can be passed as a command-line argument from perl to the wrapper.