At 19:33 -0500 2002.07.12, Jeff Lowrey wrote: >At 4:13 PM -0700 7/12/02, Noah Hoffman wrote: >> I'm porting some perl files that used to run in MacPerl 5.6.1 >>to OS X and Perl 6. The scripts had to call some AppleScript with >>MacPerl::DoAppleScript() but this no longer works in Perl 6. Does >>anyone know the new way to call an AppleScript from Perl? > >MacPerl::DoAppleScript is part of MacPerl, not perl - ergo not >included with perl 6. > >You can either port MacPerl::DoAppleScript, or invoke osascript from >a system call or backticks.
There is no such thing as Perl 6. It is in development, but currently does not exist except in a partial specification. Perhaps you mean Perl 5.6? The perl that comes with Mac OS X is 5.6, though 5.6.1 mostly works, and 5.8 will work on Mac OS X too. If so, there are plenty of ways. My YAPC slides include a few. http://pudge.net/macperl/yapc/2002/ To the point, you can use osascript from perl, either directly or via the OSXMacPerl module, which emulates some MacPerl.pm functionality on Mac OS X. http://pudge.net/macperl/yapc/2002/macperl/slide010.html http://pudge.net/macperl/yapc/2002/macperl/slide019.html Examples: % osascript -ss -e 'get path to startup disk as text' "Bourque:" % osacompile -o getpath -e 'get path to startup disk as text' % osascript -ss getpath "Bourque:" % perl -MOSXMacPerl -le 'print MacPerl::DoAppleScript("get path to startup disk as text")' "Bourque:" You can also use MacPerl 5.6.1 to communicate with Mac OS X apps, which the slides also show examples of. -- Chris Nandor [EMAIL PROTECTED] http://pudge.net/ Open Source Development Network [EMAIL PROTECTED] http://osdn.com/