開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9) の9章(リファレンスを使った実践的なテクニック), 9.9(練習問題)1を解いてみる。
1.
やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; my @list = glob "/bin/*"; my @sorted = map $_->[0], sort { $a->[1] <=> $b->[1] } map [$_, -s $_], @list; for(@list){ print -s $_, ": $_\n"; } print "ソート後\n"; for(@sorted){ print -s $_, ": $_\n"; }
入出力結果(Terminal)
$ ./sample.pl 43120: /bin/[ 1371648: /bin/bash 44192: /bin/cat 62768: /bin/chmod 57808: /bin/cp 772992: /bin/csh 57408: /bin/date 61216: /bin/dd 52432: /bin/df 34672: /bin/domainname 34608: /bin/echo 122000: /bin/ed 43808: /bin/expr 34720: /bin/hostname 35088: /bin/kill 2180736: /bin/ksh 167408: /bin/launchctl 39600: /bin/link 39600: /bin/ln 80752: /bin/ls 35072: /bin/mkdir 44848: /bin/mv 243104: /bin/pax 95840: /bin/ps 34704: /bin/pwd 66368: /bin/rcp 44528: /bin/rm 34624: /bin/rmdir 1371712: /bin/sh 34688: /bin/sleep 64976: /bin/stty 34288: /bin/sync 772992: /bin/tcsh 43120: /bin/test 44528: /bin/unlink 34576: /bin/wait4path 1103984: /bin/zsh ソート後 34288: /bin/sync 34576: /bin/wait4path 34608: /bin/echo 34624: /bin/rmdir 34672: /bin/domainname 34688: /bin/sleep 34704: /bin/pwd 34720: /bin/hostname 35072: /bin/mkdir 35088: /bin/kill 39600: /bin/link 39600: /bin/ln 43120: /bin/[ 43120: /bin/test 43808: /bin/expr 44192: /bin/cat 44528: /bin/rm 44528: /bin/unlink 44848: /bin/mv 52432: /bin/df 57408: /bin/date 57808: /bin/cp 61216: /bin/dd 62768: /bin/chmod 64976: /bin/stty 66368: /bin/rcp 80752: /bin/ls 95840: /bin/ps 122000: /bin/ed 167408: /bin/launchctl 243104: /bin/pax 772992: /bin/csh 772992: /bin/tcsh 1103984: /bin/zsh 1371648: /bin/bash 1371712: /bin/sh 2180736: /bin/ksh $
0 コメント:
コメントを投稿