2012年10月28日日曜日

開発環境

『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也田中 慎司吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9) の8章(ファイルハンドルへのリファレンス), 8.6(練習問題)3を解いてみる。

その他参考書籍

3.

コード(TextWrangler)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
use IO::Dir;

print "not a directory\n";
for(grep { ! -d} @ARGV){
  print "  $_\n";
}
for(grep { -d } @ARGV){
  print "$_\n";
  my $dir_fh = IO::Dir->new($_) || die "Could not open dirhandle! $!\n";
  while(defined(my $file = $dir_fh->read)){
    next if $file eq "." or $file eq "..";
    print "  $file\n";
  }
}

入出力結果(Terminal)

$ ./sample.pl *
not a directory
  barney
  betty
  coconet.dat
  date.txt
  fred
  gilligan.info
  ginger.info
  link_test
  log
  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
  result
  sample.pl
  sample.pl.bak
  sample.pl.bak.bak
  sample_text
  sample_text.out
  sample_text.out.bak
  skipper.info
  sortable_hash
  standings.db
  test.bak
  test.out
  test.txt
  test_link
  thurston.info
  total_bytes.dat
Oogaboogoo
  date.pm
sample
  .DS_Store
  sample_folder
  sample_folder copy
  sample_folder copy 2
  sample_folder copy 3
  sample_folder copy 4
sample_folder
  .DS_Store
  sample1.bak
  test
some_folder
  sample.pl
  some_file
  some_file1
  some_file2
test_folder
  .DS_Store
  sample
tmp_folder
  sample.pl
  some_folder
$

0 コメント:

コメントを投稿