perl中的简单文件系统操作

时间:2010-08-10 07:48:48

标签: perl directory linker

我想创建一个新目录,其内容是指向现有目录内容的软链接,并为此新目录设置完全权限。

我知道如何使用bash:

mkdir -m a=rwx new_dir
cd new_dir
ln -s /path/to/old/dir/* .

但在查找perl等效项时遇到一些问题

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样:

mkdir -m a=rwx new_dir     in perl: ->    mkdir ('new_dir', 0777);
cd new_dir                 in perl: ->    chdir ('new_dir');
ln -s /path/to/old/dir/* . in perl: ->

    use constant OLD_DIR => '/path/to/old/dir';

    for my $oldname (glob(OLD_DIR . '/*')) {
         my $newname = $oldname;
         $newname =~ s/^.*\///s;      # Remove everything up to last "/"
         symlink ($oldname, $newname);
    }

当然,对于Perl来说,“总有不止一种方法可以做到这一点。”