I ran find2perl to give me some output that I included below (in
Sub_directory). If I have no network shares mounted it runs fine. But
I have some shares mounted (sftp, or smb, etc.) via Nautilus, the
below script really takes a long time. It begins to search through
~/.gvfs which is where Nautilus mounts user shares. How can I find a
particular directory while ignoring hidden folders like .gvfs?
Here is my code.
#!/usr/bin/env perl
use File::Find;
eval("use File::HomeDir;");
die "[err] File::HomeDir not installed. Use \"perl -e \"use CPAN;
install File::HomeDir;\"\" to install \n" if $@;
use strict;
use warnings;
no warnings 'File::Find';
use 5.010;
my $home_directory = File::HomeDir->my_home;
use vars qw/*name *dir/;
*name = *File::Find::name;
*dir = *File::Find::dir;
select_directories();
sub select_directories {
print "\nLocating directory...\n";
File::Find::find(\&Some_directory, $home_directory);
}
##-- Find directories.
sub Some_directory {
my ($dev,$ino,$mode,$nlink,$uid,$gid);
(($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-d _ &&
! /^.*\.gvfs\z/s &&
/^AesTest.*\z/s &&
print("$name\n");
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/