第 3 回 - Perl 入門(1)

[10/12, 2009 H.Aman]
67x27(1669bytes)   67x27(1669bytes) 【例題 3】

課題 2-1

テキストファイルを入力として,その内容を逆順に出力する Perl スクリプト reverse.pl を作りなさい.

(ヒント)

   @bbb = reverse(@aaa);
とすると,配列 aaa の要素を逆順に並べた配列 bbb が得られる. (aaa の内容は変化しない)

課題 2-2

整数が一行に一つずつ書かれたデータファイルを入力として, その中の最大値と最小値を除いた残りの数の合計値を出力する Perl スクリプト sub_total.pl を作りなさい.

データファイル
data1.txt data2.txt data3.txt data4.txt data5.txt data6.txt data7.txt data8.txt data9.txt data10.txt

(ヒント)

   @bbb = sort({$a <=> $b} @aaa);
とすると,配列 aaa の要素を昇順に並べた配列 bbb が得られる.
{$a <=> $b} を {$b <=> $a} とすると降順になる.
{$a <=> $b} を書かない場合は数字ではなく辞書式でソートされてしまう.

※実行例

     $ perl sub_total.pl < data.txt
     最大値 = 9
     最小値 = 2
     その他の合計 = 16
ただし,data.txt の内容が
5
2
8
3
9
であった場合.