使用perl重命名txt文件扩展名

时间:2013-05-28 11:57:36

标签: perl

我正在执行以下步骤:

读取目录中的所有文本文件,并将其存储在名为@files的数组中 在每个文本文件上运行foreach循环。使用拆分操作提取文件名(剥离.txt)并创建该特定文件名的文件夹。将该文件重命名为Test.txt(以便作为另一个perl可执行文件的输入)通过添加行需要“test.pl”为每个文件执行test.pl; 它只适用于一个文件,但不再适用。这是我的代码:

opendir DIR, ".";
my @files = grep {/\.txt/} readdir DIR;

foreach my $files (@files) {

    @fn = split '\.', $files;
    mkdir "$fn[0]" 
        or die "Unable to create $fn[0] directory <$!>\n";

    rename "$files", "Test.txt";
    require "test3.pl";

    rename "Test.txt", "$files";
    system "move $files $fn[0]";
}

2 个答案:

答案 0 :(得分:2)

你没有require一次加载文件,但每次都do

所以,替换

要求“test3.pl”;

做“test3.pl”;

答案 1 :(得分:1)

你可以为该目录中的文件进行全局渲染..

替换,

opendir DIR, ".";
my @files = grep {/\.txt/} readdir DIR;

用,

my @files = <*.txt>;