Gavin Brock
Sat, 29 Aug 2009 20:32:47 -0700
On 30 Aug 2009, at 05:06, e...@apple.com wrote:
Mac::Glue and Mac::Carbon are again based on Carbon, and won't work in 64-bit.Though I haven't used it myself, "use Foundation;" will load in the PerlObjCBridge module (which is 64-bit) and then you can use NSAppleScript class to run an AppleScript script (as I understand it).
Thanks for the pointer Ed - I looked through:
http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSAppleScript_Class/Reference/Reference.html
So I'm guessing that for simple calls I can replace:
use MacPerl;
MacPerl::DoAppleScript('tell application "Terminal" to activate');
with:
use Foundation;my $as = NSAppleScript->alloc->initWithSource_('tell application "Terminal" to activate');my $err = $as->executeAndReturnError_(undef);
But what would be the equivalent, if I wanted to capture the returned value?
my $win = MacPerl::DoAppleScript('tell application "Terminal" to return front window');warn $win;
Thanks, Gavin