glob(例)から返されるファイル名の配列がソートされるという保証はあります<*>
か?
ドキュメントでソートが何らかの形で言及されていることはわかりませんが、私が試したすべてのディレクトリに当てはまるようです。
私はこの構文の使用について話している:
@files = <*>;
ファイルを並べ替える必要がある場合、以下は冗長ですか?
@files = sort(<*>);
Perl 5.6.0以降では、ファイル名は次のようにソートされます。
v5.6.0以降、この演算子は標準のFile::Glob拡張機能を使用して実装されています。
--globのperldoc
デフォルトでは、パス名はASCIIの昇順でソートされます。
--File ::Globのperldoc
1つのキャッチがあります:
デフォルトでは、ファイル名は大文字と小文字が区別されると見なされます
--File ::Globのperldoc
そうは言っても、この動作を変更して、大文字と小文字を区別せずに並べ替えることができます。
use File::Glob qw(:globally :nocase);
:globallyは5.6.0以降冗長ですが、これは古いバージョンでも機能することに注意してください。
または、大文字と小文字を区別せずに単一のグロブを実行する場合は、次のようにします。
use File::Glob ':glob';
@files = bsd_glob('*', GLOB_NOCASE);