Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
perl中的简单文件系统操作_Perl_Directory_Linker - Fatal编程技术网

perl中的简单文件系统操作

perl中的简单文件系统操作,perl,directory,linker,Perl,Directory,Linker,我想创建一个新目录,它的内容是软链接到现有目录的内容,并设置这个新目录的完全权限 我知道如何在bash中实现这一点: mkdir -m a=rwx new_dir cd new_dir ln -s /path/to/old/dir/* . 但是在查找与perl等效的程序时遇到一些问题 mkdir -m a=rwx new_dir in perl: -> mkdir ('new_dir', 0777); cd new_dir in perl:

我想创建一个新目录,它的内容是软链接到现有目录的内容,并设置这个新目录的完全权限

我知道如何在bash中实现这一点:

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

但是在查找与perl等效的程序时遇到一些问题

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中,“总是有不止一种方法可以做到这一点”。

对于$oldname()部分,我遇到了
问题。假设我的old dir路径存储为常量old_dir。对于
标题,我应该在
中添加什么?使用
File::Next
(使用
down\u filter=>sub{0}
)解决,对于mkdir、chdir和symlink中的每一个,添加“或死”错误(此处有帮助的消息):$!“'您尝试查看了吗?