1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#!/usr/bin/perl -w
# $Id: misc.pl,v 1.2 2001/02/12 23:32:27 ams Exp $
# Copyright 2001 Abhijit Menon-Sen <ams@wiw.org>
use strict;
sub align
{
my @aligned = ();
my $columns = @{$_[0]};
my @lengths = (0)x$columns;
foreach (@_) {
for my $i (0..$columns-1) {
my $len = length $_->[$i];
$lengths[$i] = $len if $len > $lengths[$i];
}
}
foreach (@_) {
my $text = "";
for my $i (0..$columns-1) {
$text .= $_->[$i]." "x($lengths[$i]-length($_->[$i]));
}
push @aligned, $text;
}
return @aligned;
}
sub cwrap
{
my $n = shift;
my ($i, $text, @text) = (0, "");
foreach (@_) {
if (length($text) + length($_) + 2 < $n) {
$text .= ", $_";
push @{$text[$i]}, $_;
} else {
$i++;
$text = $_;
push @{$text[$i]}, $_;
}
}
return map { join(", ", @$_) } @text;
}
sub indent
{
my $n = shift;
return map { " "x$n.$_ } @_;
}
1;
|