diff options
author | Tatsuhiko Miyagawa <miyagawa@bulknews.net> | 2015-04-25 06:32:03 -0700 |
---|---|---|
committer | Tatsuhiko Miyagawa <miyagawa@bulknews.net> | 2015-04-25 06:32:03 -0700 |
commit | 47e54791e34c587a864b4a83a3208b632eb96768 (patch) | |
tree | e73b9afff1935b01673fff6b36121eba52b0ae7d | |
parent | 138bef7a530b95572e5c33918735fe287f715e0b (diff) | |
download | carton-47e54791e34c587a864b4a83a3208b632eb96768.tar.gz |
format 02package like PAUSE does
-rw-r--r-- | lib/Carton/Index.pm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/Carton/Index.pm b/lib/Carton/Index.pm index 7c7b6cf..f59a65b 100644 --- a/lib/Carton/Index.pm +++ b/lib/Carton/Index.pm @@ -35,10 +35,25 @@ Last-Updated: @{[ scalar localtime ]} EOF for my $p ($self->packages) { - print $fh sprintf "%s %s %s\n", pad($p->name, 32), pad($p->version || 'undef', 10, 1), $p->pathname; + print $fh $self->_format_line($p->name, $p->version || 'undef', $p->pathname); } } +sub _format_line { + my($self, @row) = @_; + + # from PAUSE::mldistwatch::rewrite02 + my $one = 30; + my $two = 8; + + if (length $row[0] > $one) { + $one += 8 - length $row[1]; + $two = length $row[1]; + } + + sprintf "%-${one}s %${two}s %s\n", @row; +} + sub pad { my($str, $len, $left) = @_; |