Your second approach would work if you were aligning your template string correctly, and if it were not commented out. I'm assuming you want space-padding:
use List::Util qw(sum); my ($FreqP, $FreqN, $FreqZ) = map {int rand 41600} 0..2; my $Sum = sum($FreqP, $FreqN, $FreqZ); printf ( "Freq(Z+): %16d\n" , $FreqP) ; printf ( "Freq(Z-): %16d\n" , $FreqN) ; printf ( "Freq(0): %16d\n" , $FreqZ) ; printf ( "Total: %19d\n" , $Sum) ;
The output:
Freq(Z+): 32571 Freq(Z-): 25729 Freq(0): 9025 Total: 67325
If you wanted zero padding, just apply the appropriate modification to the printf templates (Insert a 0 character at the start of the field widths):
printf ( "Freq(Z+): %016d\n" , $FreqP) ;
The documentation for printf templates is in sprintf.
Dave
In reply to Re: How to right align outputs of stored data in a variable?
by davido
in thread How to right align outputs of stored data in a variable?
by perlnovice1900
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |