+ -
当前位置:首页 → 问答吧 → if (-d _) {............} 这个是什么意思,我打印了很多遍都找不到结果(谢谢)

if (-d _) {............} 这个是什么意思,我打印了很多遍都找不到结果(谢谢)

时间:2010-08-15

来源:互联网

if (-d _) {............}

作者: whitecell   发布时间: 2010-08-15

if (-d $_) 吧

作者: ztkx   发布时间: 2010-08-15

#!/usr/bin/perl -w
# symirror - build spectral forest of symlinks
use strict;
use File::Find;
use Cwd;

my ($srcdir, $dstdir);
my $cwd = getcwd();
die "usage: $0 realdir mirrordir" unless @ARGV == 2;

for (($srcdir, $dstdir) = @ARGV) {
    my $is_dir = -d;
    next if $is_dir;                        # cool
    if (defined ($is_dir)) {
        die "$0: $_ is not a directory\n";
    } else {                                # be forgiving
        mkdir($dstdir, 07777) or die "can't mkdir $dstdir: $!";
    }
} continue {
    s#^(?!/)#$cwd/#;                        # fix relative paths
}
                    
chdir $srcdir;
find(\&wanted, '.');

sub wanted {
    my($dev, $ino, $mode) = lstat($_);
    my $name = $File::Find::name;
    $mode &= 07777;                 # preserve directory permissions
    $name =~ s!^\./!!;              # correct name
    if (-d _) {                     # then make a real directory
        mkdir("$dstdir/andy$name", $mode)
            or die "can't mkdir $dstdir/$name: $!";
    } else {                        # shadow everything else
        symlink("$srcdir/$name", "$dstdir/$name")
            or die "can't symlink $srcdir/$name to $dstdir/$name: $!";
    }

作者: whitecell   发布时间: 2010-08-15

[img]#!/usr/bin/perl -w
# symirror - build spectral forest of symlinks
use strict;
use File::Find;
use Cwd;

my ($srcdir, $dstdir);
my $cwd = getcwd();
die "usage: $0 realdir mirrordir" unless @ARGV == 2;

for (($srcdir, $dstdir) = @ARGV) {
    my $is_dir = -d;
    next if $is_dir;                        # cool
    if (defined ($is_dir)) {
        die "$0: $_ is not a directory\n";
    } else {                                # be forgiving
        mkdir($dstdir, 07777) or die "can't mkdir $dstdir: $!";
    }
} continue {
    s#^(?!/)#$cwd/#;                        # fix relative paths
}
                    
chdir $srcdir;
find(\&wanted, '.');

sub wanted {
    my($dev, $ino, $mode) = lstat($_);
    my $name = $File::Find::name;
    $mode &= 07777;                 # preserve directory permissions
    $name =~ s!^\./!!;              # correct name
    if (-d _) {                     # then make a real directory
        mkdir("$dstdir/andy$name", $mode)
            or die "can't mkdir $dstdir/$name: $!";
    } else {                        # shadow everything else
        symlink("$srcdir/$name", "$dstdir/$name")
            or die "can't symlink $srcdir/$name to $dstdir/$name: $!";
    }
}[/img]

作者: whitecell   发布时间: 2010-08-15

  1. #!/usr/bin/perl -w
  2. # symirror - build spectral forest of symlinks
  3. use strict;
  4. use File::Find;
  5. use Cwd;

  6. my ($srcdir, $dstdir);
  7. my $cwd = getcwd();
  8. die "usage: $0 realdir mirrordir" unless @ARGV == 2;

  9. for (($srcdir, $dstdir) = @ARGV) {
  10.     my $is_dir = -d;
  11.     next if $is_dir;                        # cool
  12.     if (defined ($is_dir)) {
  13.         die "$0: $_ is not a directory\n";
  14.     } else {                                # be forgiving
  15.         mkdir($dstdir, 07777) or die "can't mkdir $dstdir: $!";
  16.     }
  17. } continue {
  18.     s#^(?!/)#$cwd/#;                        # fix relative paths
  19. }
  20.                     
  21. chdir $srcdir;
  22. find(\&wanted, '.');

  23. sub wanted {
  24.     my($dev, $ino, $mode) = lstat($_);
  25.     my $name = $File::Find::name;
  26.     $mode &= 07777;                 # preserve directory permissions
  27.     $name =~ s!^\./!!;              # correct name
  28.     if (-d _) {                     # then make a real directory
  29.         mkdir("$dstdir/andy$name", $mode)
  30.             or die "can't mkdir $dstdir/$name: $!";
  31.     } else {                        # shadow everything else
  32.         symlink("$srcdir/$name", "$dstdir/$name")
  33.             or die "can't symlink $srcdir/$name to $dstdir/$name: $!";
  34.     }
  35. }
复制代码

作者: whitecell   发布时间: 2010-08-15

小骆驼上有写。。

作者: 黑色阳光_cu   发布时间: 2010-08-15