<> wrote in comp.lang.perl.misc:
> My perl use printf to print:
>
> printf "Tasks number\tTask\tLibrary\tTargets\tBytes\n";
> printf "%-6d\t%-s\t%-s\t%-5d\t%-10d\n", $task_hash{$task},$2, $1,
> $task_targets{$task}, $task_bytes{$task};
>
> Tasks number Task Library Targets Bytes
> 1050 cmd_tsk maint_tl 1050 7340950
> 1000 vcs maint_tl 1000 953032
> 384 discover maint_tl 384 27290
> 213 get_v2_build_tsk relmgmt_tl 339 36951
> 136 runScriptUnix relmgmt_tl 136 1438804
> 120 wilc_tsk maint_tl 120 96432
> 73 v3sync_tsk maint_tl 73 19355
>
> The format not alignment good...
>
> I also tried this way:
> printf "Number of tasks Task Library Targets Bytes
> \n";
> printf "%5d %s %s %8d %10d\n", $value,$2,
> $1, $task_targets{$task}, $task_bytes{$task};
>
> Anyone has good solution for print ?
That's a job for Text::Table, available from CPAN.
use Text::Table;
my $tb = Text::Table->new(
'Tasks number', qw( Task Library Targets Bytes),
);
$tb->add( split) while <DATA>;
print $tb;
__DATA__
1050 cmd_tsk maint_tl 1050 7340950
1000 vcs maint_tl 1000 953032
384 discover maint_tl 384 27290
213 get_v2_build_tsk relmgmt_tl 339 36951
136 runScriptUnix relmgmt_tl 136 1438804
120 wilc_tsk maint_tl 120 96432
73 v3sync_tsk maint_tl 73 19355
Anno