summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiko Miyagawa <miyagawa@bulknews.net>2015-04-25 06:32:03 -0700
committerTatsuhiko Miyagawa <miyagawa@bulknews.net>2015-04-25 06:32:03 -0700
commit47e54791e34c587a864b4a83a3208b632eb96768 (patch)
treee73b9afff1935b01673fff6b36121eba52b0ae7d
parent138bef7a530b95572e5c33918735fe287f715e0b (diff)
downloadcarton-47e54791e34c587a864b4a83a3208b632eb96768.tar.gz
format 02package like PAUSE does
-rw-r--r--lib/Carton/Index.pm17
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) = @_;