=head1 NAME Mac::MoreFiles - Sophisticated file management routines =head1 SYNOPSIS use Mac::MoreFiles; $application = $Application{"MrPL"}; =head1 DESCRIPTION =cut use strict; package Mac::MoreFiles; BEGIN { use MacPerl (); use Mac::Processes (); use Exporter (); use DynaLoader (); use vars qw($VERSION @ISA @EXPORT %Application); $VERSION = '1.04'; @ISA = qw(Exporter DynaLoader); @EXPORT = qw( FSpCreateMinimum FSpShare FSpUnshare FSpFileCopy FSpDirectoryCopy FSpIterateDirectory FSpDTGetAPPL FSpDTSetComment FSpDTGetComment FSpDTCopyComment %Application ); } package Mac::MoreFiles::_ApplHash; BEGIN { use Tie::Hash (); use vars qw(@ISA); @ISA = qw(Tie::StdHash); } sub FETCH { my($self, $id) = @_; if (!$self->{$id}) { my($app); if ($^O eq 'MacOS') { for my $vol (MacPerl::Volumes()) { $app = Mac::MoreFiles::FSpDTGetAPPL(hex(substr($vol, 1, 4)), $id); last if $app; } } else { $app = Mac::Processes::LSFindApplicationForInfo($id); } $self->{$id} = $app; } return $self->{$id}; } package Mac::MoreFiles; =head2 Variables =over 4 =item %Application The C<%Application> hash will return the path to the application for a given signature, searching on all mounted volumes. =back =cut tie %Application, q(Mac::MoreFiles::_ApplHash); bootstrap Mac::MoreFiles; =include MF.xs =head1 AUTHOR Written by Matthias Ulrich Neeracher Eneeracher@mac.comE, documentation by Bob Dalgleish Ebob.dalgleish@sasknet.sk.caE. Currently maintained by Chris Nandor Epudge@pobox.comE. =cut 1; __END__