sub myglob { my @g = glob shift; @g }
####
if (glob "$dir/*") { print "glob $dir: yes\n"; }
if (myglob "$dir/*") { print "myglob $dir: yes\n"; }
####
#!/usr/bin/perl -w
sub glob2 { glob(shift); }
sub myglob { my @g = glob(shift); @g }
use strict; use diagnostics;
my @dirs = ('dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6');
#my @dir_x = '~';
my @dir_x = '/bin';
#my @dir_x = '/dir-fake-root';
my @fakedirs = ('dir-fake1', 'dir-fake2');
map { mkdir($_,0777) ; local *F; open(F,">$_/x.test") && close(F) || die; } @dirs;
for my $dir (@dirs, @fakedirs, @dir_x, @dirs, @fakedirs) {
print "$dir/*: ";
if (myglob("$dir/*")) { print "myglob "; }
if (glob ("$dir/*")) { print "glob "; }
if (glob2 ("$dir/*")) { print "glob2 "; }
print "\n";
}
map { unlink("$_/x.test") || die; rmdir($_) || die; } @dirs;
####
dir1/*: myglob glob glob2
dir2/*: myglob
dir3/*: myglob glob glob2
dir4/*: myglob
dir5/*: myglob glob glob2
dir6/*: myglob
dir-fake1/*:
dir-fake2/*:
/bin/*: myglob glob glob2
dir1/*: myglob glob glob2
dir2/*: myglob glob glob2
dir3/*: myglob glob glob2
dir4/*: myglob glob glob2
dir5/*: myglob glob glob2
dir6/*: myglob glob glob2
dir-fake1/*: glob glob2
dir-fake2/*: glob glob2