2012年6月17日日曜日

開発環境

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の12章(ファイルテスト), 12.5(練習問題)1を解いてみる。

1.

やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))

コード(TextWrangler)

#!/usr/bin/env perl
use strict;
use warnings;
use 5.012;

for(@ARGV){
  print "$_\n";
  given($_){
    when(!(-e)){print "存在しない\n";}
    when(-r){print "読み出し可能\n";continue;}
    when(-w){print "書き込み可能\n";continue;}
    when(-x){print "実行可能\n";}
  }
}

入出力結果(Terminal)

$ ls -l
total 544
-r--------  1 kamimura  staff     75  6 10  2001 barney
-r--------  1 kamimura  staff     45  6 10  2001 betty
-rw-r--r--@ 1 kamimura  staff  88502 10 24  2011 coconet.dat
-rw-r--r--  1 kamimura  staff     50  4 24 17:18 date.txt
-r--------@ 1 kamimura  staff     32  6 10  2001 fred
-rw-r--r--  1 kamimura  staff    696  4 25 16:04 gilligan.info
-rw-r--r--  1 kamimura  staff    238  4 25 16:04 ginger.info
-rw-r--r--@ 1 kamimura  staff   2082  7 28  2011 log_file.txt
-rw-r--r--  1 kamimura  staff    223  4 25 16:04 lovey.info
-rw-r--r--  1 kamimura  staff     65  4 12 15:59 ls.err
-rw-r--r--  1 kamimura  staff      0  4 12 15:59 ls.out
-rw-r--r--  1 kamimura  staff    289  4 25 16:04 maryann.info
-rw-r--r--  1 kamimura  staff     21  4 25 16:04 monkeyman.info
-r--------  1 kamimura  staff     88  6 10  2001 numbers
-rwxr-xr-x@ 1 kamimura  staff    389  5  1 16:41 oogaboogoo.pm
-rw-r--r--@ 1 kamimura  staff  15366  6 16 16:58 perl_kamimura_blog
-rwxr-xr-x@ 1 kamimura  staff    154  3 18 16:05 perl_program.bak.bak
-rwxr-xr-x  1 kamimura  staff    194  3 18 16:09 perl_program.pl
-rwxr-xr-x@ 1 kamimura  staff    290  3 19 16:10 perl_program1
-rwxr-xr-x@ 1 kamimura  staff    289  3 19 16:09 perl_program1.bak
-rw-r--r--  1 kamimura  staff    194  4 25 16:04 professor.info
drwxr-xr-x  2 kamimura  staff     68  4 30 16:11 sample
-rw-r--r--@ 1 kamimura  staff    124  3 15 16:56 sample.bak
-rwxr-xr-x@ 1 kamimura  staff    292  6 17 17:34 sample.pl
-rwxr-xr-x@ 1 kamimura  staff    301  6 12 18:57 sample.pl.bak
drwxr-xr-x  3 kamimura  staff    102  4  1 15:14 sample_folder
-r--------  1 kamimura  staff   5563  3 18 16:09 sample_text
-r--------  1 kamimura  staff   5563  6 10  2001 sample_text.bak
-rw-r--r--  1 kamimura  staff   5576  3 18 16:09 sample_text.out
-rw-r--r--  1 kamimura  staff   5576  3 17 16:08 sample_text.out.bak
-rw-r--r--  1 kamimura  staff    323  4 25 16:04 skipper.info
----------  1 kamimura  staff     10  6 17 17:36 some_file
-r--------  1 kamimura  staff    362  6 10  2001 sortable_hash
-rw-r--r--  2 kamimura  staff    330  3 18 16:09 test
-rw-r--r--@ 1 kamimura  staff    330  3  9 14:46 test.bak
-rw-r--r--  1 kamimura  staff    333  6 10 15:46 test.out
drwxr-xr-x  4 kamimura  staff    136  4 30 16:10 test_folder
-rw-r--r--  2 kamimura  staff    330  3 18 16:09 test_link
lrwxr-xr-x  1 kamimura  staff      4  4  1 15:15 test_new -> test
-rw-r--r--  1 kamimura  staff     98  4 25 16:04 thurston.info
-rw-r--r--@ 1 kamimura  staff    152  5 30 14:56 tmp
-rwxr-xr-x@ 1 kamimura  staff    252  6 12 18:45 tmp.pl
-rw-r--r--  1 kamimura  staff   2280  4 22 16:19 total_bytes.dat
$ ./sample.pl *
読み出し可能
書き込み可能
barney
読み出し可能
betty
読み出し可能
coconet.dat
読み出し可能
書き込み可能
date.txt
読み出し可能
書き込み可能
fred
読み出し可能
gilligan.info
読み出し可能
書き込み可能
ginger.info
読み出し可能
書き込み可能
log_file.txt
読み出し可能
書き込み可能
lovey.info
読み出し可能
書き込み可能
ls.err
読み出し可能
書き込み可能
ls.out
読み出し可能
書き込み可能
maryann.info
読み出し可能
書き込み可能
monkeyman.info
読み出し可能
書き込み可能
numbers
読み出し可能
oogaboogoo.pm
読み出し可能
書き込み可能
実行可能
perl_kamimura_blog
読み出し可能
書き込み可能
perl_program.bak.bak
読み出し可能
書き込み可能
実行可能
perl_program.pl
読み出し可能
書き込み可能
実行可能
perl_program1
読み出し可能
書き込み可能
実行可能
perl_program1.bak
読み出し可能
書き込み可能
実行可能
professor.info
読み出し可能
書き込み可能
sample
読み出し可能
書き込み可能
実行可能
sample.bak
読み出し可能
書き込み可能
sample.pl
読み出し可能
書き込み可能
実行可能
sample.pl.bak
読み出し可能
書き込み可能
実行可能
sample_folder
読み出し可能
書き込み可能
実行可能
sample_text
読み出し可能
sample_text.bak
読み出し可能
sample_text.out
読み出し可能
書き込み可能
sample_text.out.bak
読み出し可能
書き込み可能
skipper.info
読み出し可能
書き込み可能
some_file
sortable_hash
読み出し可能
test
読み出し可能
書き込み可能
test.bak
読み出し可能
書き込み可能
test.out
読み出し可能
書き込み可能
test_folder
読み出し可能
書き込み可能
実行可能
test_link
読み出し可能
書き込み可能
test_new
読み出し可能
書き込み可能
thurston.info
読み出し可能
書き込み可能
tmp
読み出し可能
書き込み可能
tmp.pl
読み出し可能
書き込み可能
実行可能
total_bytes.dat
読み出し可能
書き込み可能
$

0 コメント:

コメントを投稿