- 论坛徽章:
- 12
|
本帖最后由 523066680 于 2017-10-19 18:34 编辑
load each line of the file, delete \r and \n at the end of line,
get string length of each line,
get max one,
print each line with formated %-${max}s\t$newstr\n
跛脚英语,就这样
稍微绕一下:
- use List::Util qw/max/;
- sub get_each_line { (<DATA>) }
- sub get_each_len_of { map { $_=~s/\r?\n$//; length($_) } @_ }
- sub print_each_of { grep { printf "%-${_[2]}s %s\n", $_, $_[4] } @{$_[0]}; }
- $newstr = "T";
- my @lines = get_each_line;
- my $max = max get_each_len_of @lines;
- print_each_of \@lines, set_length => $max, append => $newstr;
- __DATA__
- B B B B
- B B B
- B B
- B
复制代码
|
|