一番長いファイル名を探すプログラム

30分プログラム、その686。一番長いファイル名を探すプログラム。
とあるディレクトリでlsしたら、結果が一行で表示されてしまいました。これはきっと、すごく長いファイル名があるせいで、複数行表示ができなくなっているに違いない!
というわけで、ファイル名を長い順に表示するプログラムを書きました。lsとsortの組合せでできる気がするけど気にしません。

使い方

$ perl long-file.pl | head
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6$$anonfun$apply$7.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6$$anonfun$apply$8.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4$$anonfun$apply$5.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$apply$4.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1$$anonfun$apply$2.class
SendMoreMoney$$anonfun$solve$1$$anonfun$apply$1.class
SendMoreMoney$$anonfun$without$1.class
SendMoreMoney$$anonfun$solve$1.class

あー、Scalaさんかー。

ソースコード

#! /usr/bin/perl
# -*- mode:perl; coding:utf-8 -*-
#
# long-file.pl -
#
# Copyright(C) 2009 by mzp
# Author: MIZUNO Hiroki / mzpppp at gmail dot com
# http://howdyworld.org
#
# Timestamp: 2009/10/30 22:15:11
#
# This program is free software; you can redistribute it and/or
# modify it under MIT Lincence.
#
use strict;
use warnings;
use Data::Dumper;

for(sort { length $b <=> length $a } glob("*")){
    print $_,"\n";
}