BlogもどきのWeblog

備忘録と日々の呟きとメモとCGIの実験場とされる何か。
プロフィール

GLANSHE
絵描き担当らしい

Total: 16221
Today: 61
Yesterday: 238
最新の記事

コンテンツ

最新のコメント

最新のトラックバック

カテゴリー

リンク

ニコ動MyListLink

[ perl ] readdirについて
perlでreaddirを用いてディレクトリを読むと、デフォルトではよくわからない順番で並んでいます。
これは、ディレクトリのファイルがファイルシステムとして、ある種の構造体に格納されているのが原因で、

opendir DIR,$dir;
@entry_list = readdir DIR;
close DIR;

のように普通にディレクトリを読むと、構造体リストの順番で@dir_listにファイル名が格納されます。
これをファイル名でソートするには、

@sorted_entry_list = sort @entry_list;

のように、配列をsortします。
ディレクトリを先(もしくは後)に持ってきて、かつソートしたい場合は、

opendir DIR,$dir;
@entry_list = readdir DIR;

foreach $entry ( sort @entry_list ){
  if(-d "$dir/$entry"){
    push(@dir_list, $entry);
  }else{
    push(@file_list, $entry);
  }
}
push( @sorted_entry_list, (@dir_list, @file_list));
#push( @sorted_entry_list, (@file_list, @dir_list));
close DIR;

のような感じにするとよいかもです。


ところで、コンテンツが更新されたようです。


time stamp:2007/11/25 01:13:34
トラックバック(0)|コメント(0)
この記事のトラックバックURL:

コメントを書く
名前:
タイトル:
MAIL:
URL:
コメント:
PASS:
何かしら