ホームページ  >  記事  >  バックエンド開発  >  Perl でファイルとディレクトリを区別する方法

Perl でファイルとディレクトリを区別する方法

藏色散人
藏色散人オリジナル
2019-01-21 17:32:416008ブラウズ

ファイル システムを走査し、見つかった内容をログに記録する Perl スクリプトを構築しているとします。ファイル ハンドルを開くときは、実際のファイルを扱っているのか、それともディレクトリを扱っているのかを知る必要があります。これらは別の方法で扱うことができます。ファイル システムを再帰的に解析し続けることができるように、ディレクトリが必要です。ファイルをディレクトリから区別する最も速い方法は、Perl の組み込みファイル テスト操作を使用することです。 Perl には、ファイルのさまざまな側面をテストするために使用できる演算子があります。 -f 演算子は、ディレクトリや他の種類のファイルではなく、通常のファイルを識別するために使用されます。

Perl でファイルとディレクトリを区別する方法

#推奨される参考学習: 「

Perl チュートリアル #」

-f ファイルを使用して演算子をテストする

#!/usr/bin/perl -w
$filename = '/path/to/your/file.doc';
$directoryname = '/path/to/your/directory';
if (-f $filename) {
print "This is a file.";
}
if (-d $directoryname) {
print "This is a directory.";
}

まず、2 つの文字列を作成します。1 つはファイルを指し、もう 1 つはディレクトリを指します。次に、-f 演算子を使用して $filename がテストされ、何かがファイルであるかどうかがチェックされます。

これにより、「これはファイルです」と表示されます。ディレクトリに対して -f 演算子を実行しても、何も出力されません。

次に、$directoryname に対して逆の操作を行い、それが実際にディレクトリであることを確認します。これをディレクトリ glob と組み合わせて、どの要素がファイルでどの要素がディレクトリであるかを並べ替えます:

#!/usr/bin/perl -w
@files = <*>;
foreach $file (@files) {
if (-f $file) {
print "This is a file: " . $file;
}
if (-d $file) {
print "This is a directory: " . $file;
}
}

この記事は、Perl でファイルとディレクトリを区別する方法についてです。それが必要な友人に役立つことを願っています。 !

以上がPerl でファイルとディレクトリを区別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。