5

次の単純な Perl スクリプトは、ディレクトリの内容を一覧表示します。ディレクトリはスクリプトの引数として一覧表示されます。Linux システムで許可拒否エラーをキャプチャするにはどうすればよいですか? 現在、ユーザーが読み取り権限を持っていないディレクトリでこのスクリプトを実行すると、ターミナルでは何も起こりません。

#!/bin/env perl

use strict;
use warnings;

sub print_dir {
foreach ( glob "@_/*" )
  {print "$_\n"};
}

print_dir @ARGV
4

2 に答える 2

0

File::Find を使用します。これはコア モジュールであり、ファイルのすべてを制御できます。

#!perl
use 5.10.0;
use strict;
use warnings;
use File::Find;
find {
    wanted => sub {
        return if not -r $_; # skip if not readable
        say $_;
    },
    no_chdir => 1,
}, @ARGV;
于 2013-06-22T00:10:51.893 に答える