2013年8月9日金曜日

開発環境

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

その他参考書籍

1.

コード(BBEdit)

sample.pl

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

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

入出力結果(Terminal)

$ ./sample.pl sample.pl sample.py a some_filesample.pl
読み出し可能
書き込み可能
実行可能
sample.py
読み出し可能
書き込み可能
実行可能
a
存在しない
some_file
$ ls -l sample.pl sample.py a some_file
ls: a: No such file or directory
-rwxr-xr-x@ 1 kamimura  staff  374  8  9 09:30 sample.pl
-rwxr-xr-x@ 1 kamimura  staff  235  8  8 13:23 sample.py
----------  1 kamimura  staff   13  3 30 16:22 some_file
$

ちなみにpython3.3の場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-

import os, sys

for f in sys.argv[1:]:
    print(f)
    if not os.access(f, os.F_OK):
        print("存在しない")
    else:
        if os.access(f, os.R_OK):
            print("読み込み可能")
        if os.access(f, os.W_OK):
            print("書き込み可能")
        if os.access(f, os.X_OK):
            print("実行可能")

入出力結果(Terminal)

$ ./sample.py sample.pl sample.py a some_filesample.pl
読み込み可能
書き込み可能
実行可能
sample.py
読み込み可能
書き込み可能
実行可能
a
存在しない
some_file
$

0 コメント:

コメントを投稿