開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Strawberry Perl (WindowsのPerlの言語処理系)
- Visual Studio Code (Text Editor)
- Perl 5.28 (プログラミング言語)
初めての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 コメント:
コメントを投稿