2012年3月28日水曜日

開発環境

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

3.

前回はドットで始まるものも表示したので、今回はどっと意外で始まるファイルを表示するように改造。

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

コード(TextWrangler)

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

chomp(my $dir = <STDIN>);
if($dir =~ /^\s*$/){
  $dir = "your home directory";
  chdir or die "Cannot chdir to $_: $!";
} else {
  chdir $dir or die "Cannot chdir to $dir: $!";
}

for(<.* *>){
  print "$_\n";
}

入出力結果(Terminal)

$ ./perl_program

.
..
.appcfg_nag
.bash_history
.bash_profile
.bash_profile.macports-saved_2011-12-06_at_18:40:28
.bash_profile.pysave
.cache
.CFUserTextEncoding
.config
.cpan
.cups
.dropbox
.DS_Store
.dvdcss
.emacs.d
.emacs.el
.emacs.el~
.fontconfig
.fonts
.fonts.cache-1
.gem
.idlerc
.irb_history
.KeyHoleTV
.lesshst
.macports
.MakeMKV
.mono
.mysql_history
.pearrc
.recently-used
.recently-used.xbel
.rnd
.serverauth.87078
.sh_history
.subversion
.swl
.swm
.swn
.swo
.swp
.Trash
.viminfo
.wing101-4
.Xauthority
.Xcode
.Xmodmap
Calibre Library
Desktop
Documents
Downloads
Dropbox
KindleGen
Library
Movies
Music
pear
Pictures
Projects
Public
Sites
$ ./perl_program
../python
.
..
.DS_Store
c_program
c_program.c
c_program.dSYM
myfile.txt
python_kamimura_blog
python_program.py
python_program.pyc
python_program1.py
sample.py
sample.txt
$ ./perl_program
../ruby
.
..
.DS_Store
birth_day_helper
ruby_kamimura_blog
ruby_program.rb
$

0 コメント:

コメントを投稿