開発環境
- Mac OS X Snow Leopard (OS)
- TextWrangler(Text Editor) (いずれはBBEditを入手したい!)
- Script言語:Perl
『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9) の9章(リファレンスを使った実践的なテクニック), 9.9(練習問題)、1を解いてみる。
1.
ディレクトリか判定するには「-d」を使えばいいみたい。今日もグーグル先生のお世話に。
コード(TextWrangler)
#!/usr/bin/perl
use strict;
use warnings;
# 問題のシュワルツ変換
my @sorted =
map $_->[0],
sort {$a->[1] <=> $b->[1]}
map [$_, -s $_],
glob "/bin/*";
# /binディレクトリに含まれている
# すべての名前、相対サイズをカラムを
# 揃えて表示するために目盛りを取得
my $width_1=0;
my $width_2=0;
foreach (@sorted){
$width_1=length($_) if length($_ ) > $width_1;
$width_2=length(-s $_) if length(-s $_) > $width_2;
}
foreach (@sorted){
printf "%-${width_1}s %${width_2}g\n", $_, -s $_;
}
入出力結果(Terminal)
0 コメント:
コメントを投稿