in reply to How to right align outputs of stored data in a variable?
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to right align outputs of stored data in a variable?
by perlnovice1900 (Novice) on Feb 04, 2017 at 20:16 UTC | |
by AnomalousMonk (Archbishop) on Feb 05, 2017 at 00:34 UTC |