[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

[MacPerl] not following aliases



Hi,

I just joined the list.  I've been using Perl extensively on UNIX for the
past year or so, but am just getting into MacPerl.  I'm having truble with
my first real script.

This script uses File::Find to generate a listing of files contained in a
directory (recursively) along with all of the attributed it can figure out
about them.  Another script I wrote then compares two different listings to
tell me what has changed.  This is useful when administering a lab of macs
with Assimilator or RevRdist, because it tells me exactly what an installer
does.

Anyway, when the script which uses File::Find encounters an alias to an
AppleShare server in the "Recent Servers" folder of the Apple Menu Items
Folder, it mounts the server and scans everything on it.  I would like to
detect when a file is an alias, get what information I can without
following it, and prune the find.  Here's a copy my &wanted:

sub wanted {
    my (%info, $info, $finfo, $pathname);
    $pathname = $File::Find::name;

    $info{dir}   = $File::Find::dir;
    $info{name}  = $_;
    $info{dSize} = -s $pathname;

    $info  = FSpGetCatInfo($pathname);
    $finfo = $info->ioFlFndrInfo;

    $info{rSize}    = $info->ioFlRLgLen;
    $info{cDate}    = $info->ioDrMdDat;
    $info{mDate}    = $info->ioFlMdDat;
    $info{creator}  = $finfo->fdCreator;
    $info{type}     = $finfo->fdType;

    $::files{$pathname} = \%info;
}

Any suggestions on how to modify this to behave the way I want it to?

Thanks in advance,

Dave
 ____________________________________________________________
| Dave Lorand, Programmer/Analyst   | davel@src.uchicago.edu |
| Social Science Research Computing | 773-702-3792           |
| University of Chicago             | 773-702-2101 (fax)     |
+-----------------------------------+------------------------+
 ---> finger davel@cicero.src.uchicago.edu for my PGP key <--

===== Want to unsubscribe from this list?
===== Send mail with body "unsubscribe" to macperl-request@macperl.org