Re: [MacPerl] Re: passing arguments: AppleScript to MacPerl
[email protected] (Nobumi Iyanaga) Mon, 9 Jul 2007 09:55:47 +0900
| Newsgroups | perl.macperl |
|---|---|
| Message-ID | <[email protected]> |
Hello David,
On Jul 8, 2007, at 9:47 PM, David Micklem wrote:
> Hi,
>
> Nobumi's method (with the direct tell application "MacPerl") works
> perfectly for me on OS9.2 and MacPerl 5.6.1.
>
> However, I only get output returned if MacPerl has previously ever
> had an output window open.
>
That is strange. On my machine, I get the result without the output
window open. But...
> That is, if MacPerl isn't running, then it starts up OK when I run the
> script but I get no output/returned value. Re-running the script ->
> still no output.
>
> But if I go into MacPerl and either run a script, or syntax check a
> script so that the MacPerl output window opens, then re-running the
> AppleScript gives me the expected output. Even after I close the
> MacPerl output window, running the AppleScript still works OK.
>
> So, just out of curiosity, is it possible to make the script work
> WITHOUT the user having to manually go into MacPerl and persuade it to
> open an output window?
I think the following will open the output window:
tell application "MacPerl"
activate
Do Script "print \"hello!\";" with check
end tell
So, if you want, you can do something like:
set my_script to "myDocument:Users:ni:Desktop:dog.pl"
set args to {"dog", "cat"}
set perl_arg to {}
set perl_arg to perl_arg & my_script
set perl_arg to perl_arg & args
tell application "MacPerl"
activate -- or you can comment out this line, if MacPerl is running...
Do Script "print \"hello!\";" with check
Do Script perl_arg mode Batch
end tell
Best regards,
Nobumi Iyanaga
Tokyo,
Japan