2012年6月19日火曜日

開発環境

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

3.

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

コード(TextWrangler)

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

die "コマンドライン引数が指定されてない" unless @ARGV;
print "所有していて読み出し書き込みがともに可能なファイル名一覧\n";
for(@ARGV){
  next unless -e $_;
  print "$_\n" if -o -r -w $_;
}

入出力結果(Terminal)

$ ./sample.pl
コマンドライン引数が指定されてない at ./sample.pl line 6.
$ ./sample.pl *
所有していて読み出し書き込みがともに可能なファイル名一覧
coconet.dat
date.txt
gilligan.info
ginger.info
log_file.txt
lovey.info
ls.err
ls.out
maryann.info
monkeyman.info
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.out
sample_text.out.bak
skipper.info
test
test.bak
test.out
test_folder
test_link
test_new
thurston.info
tmp
tmp.pl
total_bytes.dat
$ ls -l
total 512
-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   3818  6 18 16:46 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    291  6 19 15:01 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
$

0 コメント:

コメントを投稿