2012年6月24日日曜日

開発環境

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

5.

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

コード(TextWrangler)

#!/usr/bin/env perl
use strict;
use warnings;
use File::Basename;
use File::Spec;

my($old,$new) = @ARGV;
if(-d $new){
  my $basename = basename $old;
  $new = File::Spec->catfile($new,$basename);
}
rename $old,$new or die "cannot rename $old to $new: $!n";

入出力結果(Terminal)

$ ls -F sample*
sample.bak  sample.pl.bak*  sample_text.out
sample.pl*  sample_text.bak  sample_text.out.bak

sample:
sample_folder/  sample_folder copy 2/ sample_folder copy 4/
sample_folder copy/ sample_folder copy 3/

sample_folder:
$ ./sample.pl sample.bak sample1.bak
$ ls -F sample*
sample.pl*  sample1.bak  sample_text.out
sample.pl.bak*  sample_text.bak  sample_text.out.bak

sample:
sample_folder/  sample_folder copy 2/ sample_folder copy 4/
sample_folder copy/ sample_folder copy 3/

sample_folder:
$ ./sample.pl sample1.bak sample
$ ls -F sample*
sample.pl*  sample_text.bak  sample_text.out.bak
sample.pl.bak*  sample_text.out

sample:
sample1.bak  sample_folder copy/ sample_folder copy 3/
sample_folder/  sample_folder copy 2/ sample_folder copy 4/

sample_folder:
$

0 コメント:

コメントを投稿