2014年8月19日火曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)、16章(プロセス管理)の16.9(練習問題)2.を解いてみる。

その他参考書籍

16.9(練習問題)2.

コード(BBEdit, Emacs)

sample2.pl

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

my $dir = $ARGV[0];

open STDOUT, '>', 'ls.out' or die "can't open 'STDOUT > ls.out': $!";
open STDERR, '>', 'ls.err' or die "can't open 'STDERR > ls.err': $!";
chdir $dir or die "can't chdir to '$dir': $!";
exec 'ls', '-l' or die "can't exec 'ls -l': $!";

入出力結果(Terminal)

$ ./sample2.pl /
$ cat ls.out 
total 16437
drwxrwxr-x+ 61 root  admin     2074 Aug 13 09:16 Applications
drwxr-xr-x+ 66 root  wheel     2244 May 13 19:51 Library
drwxr-xr-x@  2 root  wheel       68 Aug 25  2013 Network
drwxr-xr-x+  4 root  wheel      136 Apr 22 02:37 System
drwxr-xr-x   6 root  admin      204 Apr 26 05:24 Users
drwxrwxrwt@  6 root  admin      204 Aug 19 16:19 Volumes
drwxr-xr-x@ 39 root  wheel     1326 Jul  1 08:51 bin
drwxrwxr-t@  2 root  admin       68 Aug 25  2013 cores
dr-xr-xr-x   3 root  wheel     4447 Aug 11 03:25 dev
lrwxr-xr-x@  1 root  wheel       11 Apr 22 02:18 etc -> private/etc
dr-xr-xr-x   2 root  wheel        1 Aug 11 03:25 home
-rwxr-xr-x@  1 root  wheel  8394000 Jun  4 13:27 mach_kernel
dr-xr-xr-x   2 root  wheel        1 Aug 11 03:25 net
drwxr-xr-x   5 root  wheel      170 Jul 25 13:33 opt
drwxr-xr-x@  6 root  wheel      204 Apr 22 02:49 private
drwxr-xr-x@ 62 root  wheel     2108 Jul  1 08:51 sbin
lrwxr-xr-x@  1 root  wheel       11 Apr 22 02:19 tmp -> private/tmp
drwxr-xr-x@ 10 root  wheel      340 May 27 09:14 usr
lrwxr-xr-x@  1 root  wheel       11 Apr 22 02:19 var -> private/var
$ cat ls.err 
$ rm ls.*
remove ls.err? y
remove ls.out? y
$ ./sample2.pl abcde
$ cat ls.out 
$ cat ls.err 
can't chdir to 'abcde': No such file or directory at ./sample2.pl line 15.
$

0 コメント:

コメントを投稿