開発環境
- 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(練習問題)3を解いてみる。
3.
やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; use IO::Dir; my @dir_fhs = (); for(@ARGV){ push @dir_fhs, IO::Dir->new($_) if -d $_; } for(@dir_fhs){ p($_); } sub p{ my $dir_fh = shift; while(defined(my $file = $dir_fh->read)){ next if $file eq '.' or $file eq '..'; print "$file\n"; } }
入出力結果(Terminal)
$ ./sample.pl . / .DS_Store .out coconet.dat date.txt gilligan.info ginger.info HASH(0x7fa4740277e0) log_file.txt lovey.info ls.err ls.out maryann.info monkeyman.info numbers perl_kamimura_blog perl_program.bak.bak perl_program.pl perl_program1 perl_program1.bak professor.info sample.bak sample.pl sample_folder sample_text sample_text.bak sample_text.out sample_text.out.bak skipper.info sortable_hash test test.bak test_folder test_link test_new thurston.info total_bytes.dat .dbfseventsd .DocumentRevisions-V100 .DS_Store .file .fseventsd .hotfiles.btree .MobileBackups .Spotlight-V100 .Trashes .vol .Xmodmap Applications bin cores dev Developer Developer-3.2.6 etc home Library mach_kernel net Network opt private sbin System tmp Users usr var Volumes ユーザーズガイドと情報 $
0 コメント:
コメントを投稿