我想創建一個新的目錄,它的內容是軟鏈接到現有目錄的內容,併爲這個新目錄設置完全權限。perl中的簡單文件系統操作
我懂得這是在bash:
mkdir -m a=rwx new_dir
cd new_dir
ln -s /path/to/old/dir/* .
,但有一些問題找到perl的等效
我想創建一個新的目錄,它的內容是軟鏈接到現有目錄的內容,併爲這個新目錄設置完全權限。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( path/to/old/dir/*>)'部件有問題。假設我的舊目錄路徑存儲爲常量OLD_DIR。我應該在「for」頭文件中加入什麼內容? – 2010-08-10 08:13:29
使用'File :: Next'解決(使用'descend_filter => sub {0}') – 2010-08-10 08:37:33
@David:我已經編輯了使用常量的答案OLD_DIR – 2010-08-10 09:14:35
你有沒有試過[perldoc perlfunc](http://perldoc.perl.org/perlfunc.html)? – Ether 2010-08-10 15:04:45