globから返されたファイル名の配列(たとえば<*>
)がソートされる保証はありますか?globの結果がPerlでソートされる保証はありますか?
並べ替えが片方向または他の方法で言及されているのがわかりませんin the documentationしかし、私が試したすべてのディレクトリの場合のようです。
私はこの構文を使用して話している:
@files = <*>;
私は、ファイルをソートする必要がある場合は、以下の冗長でしょうか?
@files = sort(<*>);
globから返されたファイル名の配列(たとえば<*>
)がソートされる保証はありますか?globの結果がPerlでソートされる保証はありますか?
並べ替えが片方向または他の方法で言及されているのがわかりませんin the documentationしかし、私が試したすべてのディレクトリの場合のようです。
私はこの構文を使用して話している:
@files = <*>;
私は、ファイルをソートする必要がある場合は、以下の冗長でしょうか?
@files = sort(<*>);
以降は、ファイル名がソートされています
は、v5.6.0から、この演算子 は標準 ファイル::グロブ拡張子を使用して実装されています。
- デフォルトでperldoc for glob
、パス名は、ASCII昇順に をソートされています。 - perldoc for File::Glob
持つデフォルトで
は、ファイル名は大文字と小文字を区別し
こと に仮定されている: -
1つのキャッチがありますあなたはこれを変えることができますグローバル5.6.0以降冗長ですが、これは、同様の古いバージョンで動作します:ehaviorこと
use File::Glob qw(:globally :nocase);
注意して大文字と小文字を区別せずにソートします。
代わりに、あなただけの場合、不感受性を持つ単一のグロブをしたい場合:
use File::Glob ':glob';
@files = bsd_glob('*', GLOB_NOCASE);
ありがとう、私は、File :: Globについて内部的に使用されていることに気付かなかったと思います – Kip
'ファイル@ S/$ファイル/ /'? glob演算子とsort関数はリストを返します。 – mob
@mobruleありがとう、固定。私はすべての変数型で$が使われるPHPで私の仕事のほとんどを行います。 : - [ – Kip