2020年4月29日水曜日

開発環境

初めてのPerl 第7版 (Randal L. Schwartz(著)brian d foy(著)Tom Phoenix(著)近藤 嘉雪(翻訳)嶋田 健志(翻訳)、オライリージャパン)の5章(入力と出力)、5.13(練習問題)2、3の解答を求めてみる。

コード

#!/usr/bin/env perl
use strict;
use warnings;
use v5.28;

say '2.';

my $measure = "1234567890" x 6;

say $measure;
for (qw(hello good-bye)) {
    printf "%19s\n", $_
}

say "3.";
say "カラム幅、文字列を入力";
chomp(my $cols = <STDIN>);
my @words;
while (<>) {
    chomp;
    push @words, $_;
}
say "1234567890" x ($cols / 10 + 1);
my $format = "%${cols}s\n";

for (@words) {
    printf $format, $_;
}
say "*による幅の指定";
for (@words) {
    printf "%*s\n", $cols, $_;
}

入出力結果(Zsh、PowerShell、Terminal)

% ./sample2.pl
2.
123456789012345678901234567890123456789012345678901234567890
              hello
           good-bye
3.
カラム幅、文字列を入力
30
hello
good-bye
1234567890123456789012345678901234567890
                         hello
                      good-bye
*による幅の指定
                         hello
                      good-bye
%

0 コメント:

コメントを投稿