2011年7月30日土曜日

開発環境

  • 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 コメント:

コメントを投稿