開発環境
- 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) の8章(ファイルハンドルへのリファレンス)、8.6(練習問題)2を解いてみる。
2.
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; use IO::File; my %fhs; while(<>){ my $name = lc $1 if /^(\w*):/; $fhs{$name} ||= IO::File-<new("< $name.info") || die; print {$fhs{$name}} $_; }
入出力結果(Terminal)
$ ./sample.pl log_file.txt $ ls *.info gilligan.info lovey.info monkeyman.info skipper.info ginger.info maryann.info professor.info thurston.info $ cat log_file.txt *.info Gilligan: 1 coconut Skipper: 3 coconuts Gilligan: 1 banana Professor: 3 coconuts MaryAnn: 2 papayas Thurston: 2 mangoes Gilligan: 1 banana Thurston: 1 mango Gilligan: 1 papaya Gilligan: 1 kiwifruit Skipper: 2 coconuts Professor: 3 bananas Ginger: 1 banana Ginger: 1 mango Gilligan: 2 mangoes Ginger: 1 banana MaryAnn: 1 kiwifruit Professor: 1 coconut Professor: 2 coconuts Gilligan: 1 kiwifruit Ginger: 1 coconut MaryAnn: 1 banana Ginger: 1 banana Thurston: 1 kiwifruit Lovey: 1 coconut Lovey: 2 papayas Ginger: 2 mangoes Gilligan: 2 kiwifruits Skipper: 1 mango Skipper: 2 mangoes Lovey: 2 papayas Gilligan: 2 mangoes Skipper: 1 kiwifruit Gilligan: 1 mango MaryAnn: 2 bananas Skipper: 1 mango Gilligan: 1 kiwifruit Gilligan: 1 kiwifruit Gilligan: 1 coconut Professor: 2 mangoes Gilligan: 1 coconut Ginger: 3 kiwifruits Gilligan: 1 coconut MaryAnn: 1 kiwifruit Ginger: 2 coconuts Gilligan: 1 coconut Gilligan: 2 papayas Ginger: 3 bananas Professor: 1 coconut Gilligan: 1 mango MaryAnn: 1 kiwifruit Skipper: 1 mango MaryAnn: 2 coconuts Professor: 1 kiwifruit Maryann: 1 coconut Gilligan: 3 bananas Gilligan: 1 kiwifruit Gilligan: 1 papaya Lovey: 1 papaya Ginger: 1 kiwifruit Gilligan: 1 kiwifruit MonkeyMan: 8 bananas Gilligan: 1 kiwifruit Gilligan: 1 banana MaryAnn: 1 coconut Skipper: 3 kiwifruits MaryAnn: 2 coconuts Gilligan: 2 bananas Skipper: 1 coconut Lovey: 1 coconut Skipper: 1 banana Gilligan: 2 kiwifruits Gilligan: 4 coconuts Skipper: 1 kiwifruit Thurston: 1 banana Lovey: 1 banana MaryAnn: 2 bananas Lovey: 1 coconut Ginger: 1 kiwifruit Ginger: 1 coconut Lovey: 1 papaya MaryAnn: 2 bananas MaryAnn: 1 mango Gilligan: 3 mangoes Skipper: 1 kiwifruit Professor: 1 papaya Professor: 1 kiwifruit Skipper: 1 mango Thurston: 1 banana MaryAnn: 1 coconut Gilligan: 2 coconuts Gilligan: 2 kiwifruits MaryAnn: 1 banana Lovey: 1 banana Gilligan: 1 kiwifruit Ginger: 2 coconuts Gilligan: 1 mango Lovey: 1 kiwifruit Skipper: 1 kiwifruit Lovey: 1 banana Skipper: 1 mango Lovey: 1 kiwifruit Lovey: 2 kiwifruits Gilligan: 1 coconut Gilligan: 1 coconut Skipper: 1 mango Skipper: 1 coconut Gilligan: 1 coconut Gilligan: 1 banana Gilligan: 1 banana Gilligan: 1 papaya Gilligan: 1 kiwifruit Gilligan: 2 mangoes Gilligan: 1 kiwifruit Gilligan: 2 kiwifruits Gilligan: 2 mangoes Gilligan: 1 mango Gilligan: 1 kiwifruit Gilligan: 1 kiwifruit Gilligan: 1 coconut Gilligan: 1 coconut Gilligan: 1 coconut Gilligan: 1 coconut Gilligan: 2 papayas Gilligan: 1 mango Gilligan: 3 bananas Gilligan: 1 kiwifruit Gilligan: 1 papaya Gilligan: 1 kiwifruit Gilligan: 1 kiwifruit Gilligan: 1 banana Gilligan: 2 bananas Gilligan: 2 kiwifruits Gilligan: 4 coconuts Gilligan: 3 mangoes Gilligan: 2 coconuts Gilligan: 2 kiwifruits Gilligan: 1 kiwifruit Gilligan: 1 mango Gilligan: 1 coconut Gilligan: 1 coconut Ginger: 1 banana Ginger: 1 mango Ginger: 1 banana Ginger: 1 coconut Ginger: 1 banana Ginger: 2 mangoes Ginger: 3 kiwifruits Ginger: 2 coconuts Ginger: 3 bananas Ginger: 1 kiwifruit Ginger: 1 kiwifruit Ginger: 1 coconut Ginger: 2 coconuts Lovey: 1 coconut Lovey: 2 papayas Lovey: 2 papayas Lovey: 1 papaya Lovey: 1 coconut Lovey: 1 banana Lovey: 1 coconut Lovey: 1 papaya Lovey: 1 banana Lovey: 1 kiwifruit Lovey: 1 banana Lovey: 1 kiwifruit Lovey: 2 kiwifruits MaryAnn: 2 papayas MaryAnn: 1 kiwifruit MaryAnn: 1 banana MaryAnn: 2 bananas MaryAnn: 1 kiwifruit MaryAnn: 1 kiwifruit MaryAnn: 2 coconuts Maryann: 1 coconut MaryAnn: 1 coconut MaryAnn: 2 coconuts MaryAnn: 2 bananas MaryAnn: 2 bananas MaryAnn: 1 mango MaryAnn: 1 coconut MaryAnn: 1 banana MonkeyMan: 8 bananas Professor: 3 coconuts Professor: 3 bananas Professor: 1 coconut Professor: 2 coconuts Professor: 2 mangoes Professor: 1 coconut Professor: 1 kiwifruit Professor: 1 papaya Professor: 1 kiwifruit Skipper: 3 coconuts Skipper: 2 coconuts Skipper: 1 mango Skipper: 2 mangoes Skipper: 1 kiwifruit Skipper: 1 mango Skipper: 1 mango Skipper: 3 kiwifruits Skipper: 1 coconut Skipper: 1 banana Skipper: 1 kiwifruit Skipper: 1 kiwifruit Skipper: 1 mango Skipper: 1 kiwifruit Skipper: 1 mango Skipper: 1 mango Skipper: 1 coconut Thurston: 2 mangoes Thurston: 1 mango Thurston: 1 kiwifruit Thurston: 1 banana Thurston: 1 banana $
0 コメント:
コメントを投稿