2011年7月5日火曜日

開発環境

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

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の14章(文字列処理とソート), 14.5(練習問題)、2を解いてみる。

 

2.

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

コード(TextWrangler)

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

# 問題のハッシュ
my %last_name = qw{ 
 fred flintstone Wilma Flintstone Barney Rubble
 betty rubble Bamm-Bamm Rubble PEBBLES 
        FLINTSTONE
};

foreach (sort{
            "\L$last_name{$a}" cmp 
            "\L$last_name{$b}"
            or "\L$a" cmp "\L$b"
            }
            keys %last_name){
  print "$last_name{$_} $_\n";
  }

問題のサンプルデータの数値のリストを読み込む

入出力結果(Ternimal)

ちゃんとfist name, last nameの順でソートされて、大文字小文字の区別も無視できた。

ファイルの用意が必要な場合はO'Reilly Japan - 初めてのPerl 第5版の関連ファイルのプログラム例に含まれているものを使用しています。

0 コメント:

コメントを投稿