MacPerl:: AppleScript is a Perl extension for accessing applications easily scriptable. MacPerl:: AppleScript is a Perl extension for easily accessing scriptable Apps.Synopsis use MacPerl:: AppleScript, Application # # create object my $ app = MacPerl:: AppleScript-> new ( "Application Name"); my $ doc1 = $ Application-> new ( "Document 1"); my $ doc2 = $ application -> new ( "Document 2 of $ app") # # execute the script directly in Application # (auto-creates a tell "Application Name" block you # $ app-> execute app ( "a few AppleScript command"); $> execute ([ "some control AppleScript", $ app ...]); "..." -> execute ( "some control AppleScript ""..." ...); # # alternative using a hashref # script: script to get executed (string or array-ref) Item #: optional subject to be enrolled in the" say "block # timeout: optional, waiting in seconds # $ app-> execute ((script => [. ..], object => $ doc1 timeout => 10)) # # # functions d 'call $ app-> open (' POSIX path "/ path / to / file" as alias '); $ app-> open ($ app-> convert_path (' / path / to / file ',' alias ')); $ doc-> close (APP) $ -> close ($ doc1); # # string interpolation Applescript Object Name # receives asks Application Name "application for receiving $ #" document 1 the application "Application Name" 'for $ doc1 # my $ ascript_appname = "$ app"; my $ ascript_docname = "$ doc1"; $ app-> execute ( "close $ doc1"); cool :-) # # # obtain and configure the properties of my app # $ = $ foo_property-> (foo); my $ foo_bar_prop = $ doc1-> ( 'foo bar'); my $ foo_bar_prop = $ doc1-> () foo_bar; $ app-> (bar) = "no value"; $ doc1-> ( 'foo bar') = [1,2,3,4]; $ doc1-> () = foo_bar (a => 1, b => 2); my% properties =% ($ app); This module is not written to be effective. In fact, it is really inefficient, but hopefully easy to use.As AppleScript (and how to communicate Application) is generally a sort of latency. The creation of readable code is the most important goal when writing this because Module.Another for certain types of inefficiency results in the technical problem that AppleScript is a strongly typed language. Back to Perl type conversion is easy. But another meaning is not always obvious, such as converting a Perl Scalar guessing.The AppleScript needs some code dealing with these problems do some tests with different AppleScript commands wrapped in try-blocks. So, usually one of the expression works without errors. The same approach is made with hash keys can contain Spaces or underscores inside the module name.This key assumes that all strings are properly encoded perl internal sheme based on Unicode. During the conversion AppleScript all characters in strings that are not ascii-equity are translated at the strange unicode-string construction sequences. I tested a lot of character, whose schemes and languages mid-west European and Russian, Greek and Arabic with some applications without difficulty to do.