開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の15章(スマートマッチとgiven-when)の15.6(練習問題)3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
for (@ARGV) {
say $_;
when(! -e){say "存在しない";}
when(-r _) {say " 読み出し可能"; continue}
when(-w _) {say " 書き込み可能"; continue}
when(-x _) {say " 実行可能";continue}
}
入出力結果(Terminal)
$ ./sample.pl *
Gilligan:
読み出し可能
書き込み可能
Ginger:
読み出し可能
書き込み可能
Lovey:
読み出し可能
書き込み可能
MaryAnn:
読み出し可能
書き込み可能
MonkeyMan:
読み出し可能
書き込み可能
Oogaboogoo
読み出し可能
書き込み可能
実行可能
Professor:
読み出し可能
書き込み可能
Skipper:
読み出し可能
書き込み可能
Thurston:
読み出し可能
書き込み可能
__pycache__
読み出し可能
書き込み可能
実行可能
barney
読み出し可能
betty
読み出し可能
coconet.dat
読み出し可能
書き込み可能
coconet_total.dat
読み出し可能
書き込み可能
coconet_total_2.dat
読み出し可能
書き込み可能
date.log
読み出し可能
書き込み可能
date.txt
読み出し可能
書き込み可能
distribute-0.6.34.tar.gz
読み出し可能
書き込み可能
fred
読み出し可能
gilligan.info
読み出し可能
書き込み可能
ginger.info
読み出し可能
書き込み可能
hello_world.pl
読み出し可能
書き込み可能
実行可能
html
読み出し可能
書き込み可能
link_test
読み出し可能
書き込み可能
ln.txt
読み出し可能
書き込み可能
ln1.txt
読み出し可能
書き込み可能
log
読み出し可能
書き込み可能
log_file.txt
読み出し可能
書き込み可能
lovey.info
読み出し可能
書き込み可能
ls.err
読み出し可能
書き込み可能
ls.out
読み出し可能
書き込み可能
maryann.info
読み出し可能
書き込み可能
monkeyman.info
読み出し可能
書き込み可能
numbers
読み出し可能
perl_kamimura_blog
読み出し可能
書き込み可能
perl_kamimura_blog.html
読み出し可能
書き込み可能
perl_program1
読み出し可能
書き込み可能
実行可能
professor.info
読み出し可能
書き込み可能
result
読み出し可能
書き込み可能
sample
読み出し可能
書き込み可能
実行可能
sample.pl
読み出し可能
書き込み可能
実行可能
sample.py
読み出し可能
書き込み可能
実行可能
sample.txt
読み出し可能
書き込み可能
sample_folder
読み出し可能
書き込み可能
実行可能
sample_text
読み出し可能
skipper.info
読み出し可能
書き込み可能
some_file
some_folder
読み出し可能
書き込み可能
実行可能
sortable_hash
読み出し可能
standings.db
読み出し可能
書き込み可能
test.out
読み出し可能
書き込み可能
test.py
読み出し可能
書き込み可能
実行可能
test.txt
読み出し可能
書き込み可能
test.txt.out
読み出し可能
書き込み可能
test_folder
読み出し可能
書き込み可能
実行可能
test_link
読み出し可能
書き込み可能
thurston.info
読み出し可能
書き込み可能
tmp.txt
読み出し可能
書き込み可能
tmp1.txt
読み出し可能
書き込み可能
tmp2.txt
読み出し可能
書き込み可能
total_bytes.dat
読み出し可能
書き込み可能
untitled text 2.txt
読み出し可能
書き込み可能
$
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
## Copyright (C) 2013 by kamimura
#-*- coding: utf-8 -*-
import glob, os, stat
for file in glob.glob("*"):
print("{0}: ".format(file), end="")
if not os.path.exists(file):
print(" 存在しない")
mode = os.stat(file).st_mode
print(stat.filemode(mode))
入出力結果(Terminal)
$ ./sample.py __pycache__: drwxr-xr-x barney: -r-------- betty: -r-------- coconet.dat: -rw-r--r-- coconet_total.dat: -rw-r--r-- coconet_total_2.dat: -rw-r--r-- date.log: -rw-r--r-- date.txt: -rw-r--r-- distribute-0.6.34.tar.gz: -rw-r--r-- fred: -r-------- gilligan.info: -rw-r--r-- Gilligan:: -rw-r--r-- ginger.info: -rw-r--r-- Ginger:: -rw-r--r-- hello_world.pl: -rwxr-xr-x html: -rw-r--r-- link_test: -rw-r--r-- ln.txt: -rw-r--r-- ln1.txt: -rw-r--r-- log: -rw-r--r-- log_file.txt: -rw-r--r-- lovey.info: -rw-r--r-- Lovey:: -rw-r--r-- ls.err: -rw-r--r-- ls.out: -rw-r--r-- maryann.info: -rw-r--r-- MaryAnn:: -rw-r--r-- monkeyman.info: -rw-r--r-- MonkeyMan:: -rw-r--r-- numbers: -r-------- Oogaboogoo: drwxr-xr-x perl_kamimura_blog: -rw-r--r-- perl_kamimura_blog.html: -rw-r--r-- perl_program1: -rwxr-xr-x professor.info: -rw-r--r-- Professor:: -rw-r--r-- result: -rw-r--r-- sample: drwxr-xr-x sample.pl: -rwxr-xr-x sample.py: -rwxr-xr-x sample.txt: -rw-r--r-- sample_folder: drwxr-xr-x sample_text: -r-------- skipper.info: -rw-r--r-- Skipper:: -rw-r--r-- some_file: ---------- some_folder: drwxr-xr-x sortable_hash: -r-------- standings.db: -rw-r--r-- test.out: -rw-r--r-- test.py: -rwxr-xr-x test.txt: -rw-r--r-- test.txt.out: -rw-r--r-- test_folder: drwxr-xr-x test_link: -rw-r--r-- thurston.info: -rw-r--r-- Thurston:: -rw-r--r-- tmp.txt: -rw-r--r-- tmp1.txt: -rw-r--r-- tmp2.txt: -rw-r--r-- total_bytes.dat: -rw-r--r-- untitled text 2.txt: -rw-r--r-- $
0 コメント:
コメントを投稿