開発環境
- 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.
やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; use IO::File; my %hash = (); while(<>){ next unless /^(\w+):/; my $name = lc $1; my $fh = $hash{$name} ||= IO::File->new(">$name.info") || die; print $fh $_; }
入出力結果(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 gilligan.info 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 $
0 コメント:
コメントを投稿