- 行番号を付ける.
while(<>) {
s/[\r\n]//g;
printf("%d,%s\n", $., $_ );
}
exit;
ガソリン 2500
ケース 200
電車賃 1200
% perl numbering.pl dat1.txt
1, ガソリン 2500
2, ケース 200
3, 電車賃 1200
- 行の並べ替え
% perl reverse.pl dat1.txt
電車賃 1200
ケース 200
ガソリン 2500
reverse.plは以下のようにする.
while (<>) {
s/[\r\n]//g;
$data[$.] = $_;
}
for ( $i = $.; $i > 0; $i-- ) {
printf( "%s\n", $data[$i] );
}
exit;
- 集計
sum.plの内容を以下のようにする.
$sum = 0;
while(<>) {
@field = split(/ +/, $_);
$sum = $sum + $field[2];
printf("%10s %7.0d\n", $field[1], $field[2] );
}
printf( "------------------\n", $sum);
printf( "%10s %7.0d\n", "合計", $sum);
exit;
たとえば,
% cat dat1.txt
ガソリン 2500
ケース 200
電車賃 1200
に対して,次のようになる.
% perl sum.pl dat1.txt
ガソリン 2500
ケース 200
電車賃 1200
------------------
合計 3900