-4

私はperlスクリプトを初めて使用します。ディレクトリ「pqr」で「abc」という名前の各フォルダを検索し、各「abc」フォルダのパスをfilename = pathOfABCの形式で別のファイル(n.txt、nは整数)に書き込みます。誰かが私にこれについていくつかのヒントを教えてもらえますか?

4

2 に答える 2

4

タスクには再帰が含まれるため、のようなモジュールを使用できますFile::Find

#!/usr/bin/env perl

use strict;
use warnings;

use File::Find;

my @files;

sub wanted {
    if ( -d && $_ eq 'abc' ) {
        push @files, $File::Find::name;
    }
}

find \&wanted, 'pqr';

my $ctr = 1;
for (@files) {
    open my $fh, '>', "$ctr.txt" or die "Error opening file";
    print $fh $_;
    $ctr++;
}
于 2012-07-29T06:34:03.690 に答える
0

このPath::Class::Ruleモジュールは、このような検索を非常に簡潔にします。

コードは次のようになります。

use strict;
use warnings;

use Path::Class::Rule;

my $rule = Path::Class::Rule->new->dir->name('abc');

print "$_\n" foreach $rule->all('pqr');
于 2012-07-29T09:11:35.243 に答える