使用perl重命名多个文件夹

Renaming multiple folders using perl

我有文本文件 file.txt,其中逐行包含 100 个单词。 我需要为 file.txt 中的那些词创建 100 个目录。 每个目录名称应与一行中的每个单词匹配。 我需要使用 perl 为上述查询创建代码。

我试过如下:

system("mkdir $_") for qw(tuber sp smeg  para);

一般来说,您不应该使用 system 在 Perl 中执行基本的文件操作,例如 mkdir。 Perl 为此内置了插件。与调用外部可执行文件相比,它们通常速度更快且注意事项更少。

use v5.10;
use strict;
use warnings;

# This will make file operations throw exceptions so we don't
# have to write "or die" on everything.
use autodie;

open my $fh, "whatever-your-file-is";
while( my $line = <$fh> ) {
    chomp $line;
    mkdir $line;
}

如果文件包含类似 some/sub/directory 的行,您需要使用 File::Path 中的 mkpath 而不是 mkdir。