2014年4月20日日曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)、12章(ファイルテスト)の12.5(練習問題)1.を解いてみる。

その他参考書籍

12.5(練習問題)1.

コード(BBEdit, Emacs)

sample266.pl

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

sub test {
    my $filename = shift;
    my $result = '';
    return '存在しない' unless -e $filename;
    $result .= '読み出し可能 ' if -r _;
    $result .= '書き込み可能 ' if -w _;
    $result .= '実行可能' if -x _;
    $result;
}

for (@ARGV) {
    say "$_: ". test $_;
}

入出力結果(Terminal)

$ chmod 0 some_file 
$ ./sample266.pl * abcde
#tac.pl#: 読み出し可能 書き込み可能 実行可能
barney: 読み出し可能 書き込み可能 
barney~: 読み出し可能 書き込み可能 
betty: 読み出し可能 書き込み可能 
betty~: 読み出し可能 書き込み可能 
duration.pl: 読み出し可能 書き込み可能 実行可能
duration.pl~: 読み出し可能 書き込み可能 実行可能
fred: 読み出し可能 書き込み可能 
fred~: 読み出し可能 書き込み可能 
match.pl: 読み出し可能 書き込み可能 実行可能
match.pl~: 読み出し可能 書き込み可能 
post.html: 読み出し可能 書き込み可能 
post.html~: 読み出し可能 書き込み可能 
sample.pl: 読み出し可能 書き込み可能 実行可能
sample.pl~: 読み出し可能 書き込み可能 実行可能
sample148.txt: 読み出し可能 書き込み可能 
sample162_1.pl: 読み出し可能 書き込み可能 実行可能
sample162_1.pl~: 読み出し可能 書き込み可能 実行可能
sample162_2.pl: 読み出し可能 書き込み可能 実行可能
sample162_2.pl~: 読み出し可能 書き込み可能 
sample163_3.pl: 読み出し可能 書き込み可能 実行可能
sample163_3.pl~: 読み出し可能 書き込み可能 実行可能
sample163_4.pl: 読み出し可能 書き込み可能 実行可能
sample163_4.pl~: 読み出し可能 書き込み可能 
sample163_5.pl: 読み出し可能 書き込み可能 実行可能
sample163_5.pl~: 読み出し可能 書き込み可能 実行可能
sample163_6.pl: 読み出し可能 書き込み可能 実行可能
sample163_6.pl~: 読み出し可能 書き込み可能 実行可能
sample189.pl: 読み出し可能 書き込み可能 実行可能
sample189.pl~: 読み出し可能 書き込み可能 
sample190_3.pl: 読み出し可能 書き込み可能 実行可能
sample190_3.pl~: 読み出し可能 書き込み可能 実行可能
sample190_4.pl: 読み出し可能 書き込み可能 実行可能
sample190_4.pl~: 読み出し可能 書き込み可能 実行可能
sample190_5.pl: 読み出し可能 書き込み可能 実行可能
sample190_5.pl~: 読み出し可能 書き込み可能 
sample190_6.pl: 読み出し可能 書き込み可能 実行可能
sample190_6.pl~: 読み出し可能 書き込み可能 実行可能
sample207.pl: 読み出し可能 書き込み可能 実行可能
sample207.pl~: 読み出し可能 書き込み可能 
sample207_2.pl: 読み出し可能 書き込み可能 実行可能
sample207_2.pl.bak: 読み出し可能 書き込み可能 実行可能
sample207_2.pl.out: 読み出し可能 書き込み可能 
sample207_2.pl~: 読み出し可能 書き込み可能 実行可能
sample208_3.pl: 読み出し可能 書き込み可能 実行可能
sample208_3.pl~: 読み出し可能 書き込み可能 実行可能
sample208_3.txt: 読み出し可能 書き込み可能 
sample208_3.txt.out: 読み出し可能 書き込み可能 
sample208_3.txt~: 読み出し可能 書き込み可能 
sample208_4.pl: 読み出し可能 書き込み可能 実行可能
sample208_4.pl.bak: 読み出し可能 書き込み可能 実行可能
sample208_4.pl~: 読み出し可能 書き込み可能 実行可能
sample208_5.pl: 読み出し可能 書き込み可能 実行可能
sample208_5.pl~: 読み出し可能 書き込み可能 
sample234_1.pl: 読み出し可能 書き込み可能 実行可能
sample234_1.pl~: 読み出し可能 書き込み可能 
sample234_2.pl: 読み出し可能 書き込み可能 実行可能
sample234_2.pl~: 読み出し可能 書き込み可能 
sample234_3.pl: 読み出し可能 書き込み可能 実行可能
sample234_3.pl~: 読み出し可能 書き込み可能 実行可能
sample251_1.pl: 読み出し可能 書き込み可能 実行可能
sample251_1.pl~: 読み出し可能 書き込み可能 
sample266.pl: 読み出し可能 書き込み可能 実行可能
sample266.pl~: 読み出し可能 書き込み可能 
some_file: 
tac.pl: 読み出し可能 書き込み可能 実行可能
tac.pl~: 読み出し可能 書き込み可能 実行可能
temp.txt: 読み出し可能 書き込み可能 
temp.txt.out: 読み出し可能 書き込み可能 
temp.txt~: 読み出し可能 書き込み可能 
abcde: 存在しない
$ 

0 コメント:

コメントを投稿