使用perl重命名多个文件夹

时间:2015-03-20 06:37:22

标签: perl perl-module file-handling

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

我尝试如下:

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

1 个答案:

答案 0 :(得分:0)

通常,您不应该使用system在Perl中执行基本文件操作,例如mkdir。 Perl为此建立了ins。与调用外部可执行文件相比,它们通常更快,并且警告更少。

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。