2012年8月25日土曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の6章(ハッシュ)、6.6(練習問題)1を解いてみる。

1.

コード(TextWrangler)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.012;
binmode STDOUT, ':encoding(UTF-8)';
binmode STDIN, ':encoding(UTF-8)';

chomp(my @lines = <STDIN>);
print "カラム幅を指定: ";
chomp(my $cols = <STDIN>);
print "1234567890" x ($cols / 10 + 1) . "\n";
for(@lines){
  printf "%${cols}s\n",$_;

入出力結果(Terminal)

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.012;
binmode STDOUT, ':encoding(UTF-8)';
binmode STDIN, ':encoding(UTF-8)';

my %people = (
  "fred" => "flintstone",
  "barney" => "rubble",
  "wilma" => "flintstone");

while(1){
  print "名前を入力: ";
  chomp(my $first_name = <STDIN>);
  last if $first_name =~ /^\s*$/;
  my $last_name = $people{$first_name} // "一覧に名前がありません";
  print "$last_name\n";
}

0 コメント:

コメントを投稿