Use
Mac::Glue .. it creates a perl module that interfaces with apple events for any application you give it.
From the docs:
Raw Mac::AppleEvents method
use Mac::AppleEvents;
use Mac::Errors '$MacError';
$evt = AEBuildAppleEvent('aevt', 'odoc', typeApplSignature, 'M
+ACS',
kAutoGenerateReturnID, kAnyTransactionID,
"'----': obj{want:type(prop), from:'null'()," .
"form:prop, seld:type(macs)}"
) or die $MacError;
$rep = AESend($evt, kAEWaitReply) or die $MacError;
AEDisposeDesc($evt);
AEDisposeDesc($rep);
Easier
Mac::AppleEvents::Simple method
use Mac::AppleEvents::Simple;
do_event(qw(aevt odoc MACS),
"'----': obj{want:type(prop), from:'null'()," .
"form:prop, seld:type(macs)}"
);
Cool
Mac::Glue method
use Mac::Glue;
my $glue = Mac::Glue->new('Finder');
$glue->open( $glue->prop('System Folder') );
UPDATE: Please stop upvoting this node .. it's my highest for quite a while and all I did was cut-and-paste the pod! Quit it! Now!