2011年7月27日水曜日

開発環境

  • Mac OS X Snow Leopard (OS)
  • TextWrangler(Text Editor) (いずれはBBEditを入手したい!)
  • Script言語:Perl

『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9) の8章(ファイルハンドルへのリファレンス), 8.6(練習問題)、1を解いてみる。

 

1.

コード(TextWrangler)

#!/usr/bin/perl
use strict;
use warnings;
use IO::Tee;

my $fh;
my $scalar;
print "出力先をFile, Scalar, Bothの"
   ."3種類から選択してください\n";
chomp(my $type=);

if($type=~/^S/){
  open $fh, ">", \$scalar;
  }elsif($type=~/^F/){
    open $fh, ">", "castaways.out";
  }elsif($type=~/^B/){
    open my $scalar_fh, ">", \$scalar;
    open my $file_fh, ">", "castaways.out";
    $fh=IO::Tee->new($scalar_fh, $file_fh);
  }else{
    die "File, Scalar, Bothの3種類から選択してください\n";
    }
my $date=localtime;
my $day=(localtime)[6];
if($day==0){
  $day="Sun";
  }elsif($day==1){
  $day="Mon";
  }elsif($day==2){
  $day="Tue";
  }elsif($day==3){
  $day="Wed";
  }elsif($day==4){
  $day="Thu";
  }elsif($day==5){
  $day="Fri";
  }else{
  $day="Sat";
  }
print $fh "Date: $date\nDay: $day\n";
if($type=~/^[SB]/){
  print STDOUT "Date: $date\nDay: $day\n";
  }

入出力結果(Terminal)

出来上がったファイル、castaways.outの中身

こんな感じでいいのかな?とりあえず、出力結果は思った通りに。

0 コメント:

コメントを投稿