Hello Louis,

On Jul 8, 2007, at 2:43 AM, Louis Pouzin wrote:

Hello Nobumi,

Great to hear from you again. Thank you for your suggestions. Indeed I am using Mac OS on old MACs. One OS is 7.5.5, the other 9.0.4.

I have tried your scheme.
On OS 9.0.4, it fails, and I don't understand why.

        -- args is an argument list of class "list", each item is a string
        copy dog to the beginning of args
        activate perl
        tell perl to do script args -- error on script
or
        tell perl
                Do Script args mode batch -- error on script
        end tell

The diag is: end of line, etc. expected but "script" found

Why don't you use the normal 'tell application "MacPerl"' scheme?


On OS 7.5.5 the statement "tell perl to do script args" calls dog.
"Do Script args mode batch" fails on "mode", with the diag:
Expected end of line but found identifier

However, even when dog is called, no argument is copied to @ARGV.

If you don't use 'tell application "MacPerl"' scheme, I think the script would not compile, and then I don't understand how 'dog' can be called??

Anyway, please try the script as I wrote:

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"
        Do Script perl_arg mode Batch
end tell

The contents of "dog.pl" is the same as the one you wrote, that is:

$\ = "\n"; # print with EOL
print "nb args: ", scalar @ARGV;
$" = "\n"; # separator
print "@ARGV";

Best regards,

Nobumi Iyanaga
Tokyo,
Japan

Reply via email to