If you mean @x = (1,2,3,4,5,6) then you have what you want.
@x = (1,2,3,4,5,6); print STDOUT join(" ", map { sprintf "%7d", $_ } @x), "\n"; #outputs: 1 2 3 4 5 6
Note, in this and further examples I am using STDOUT as a stand-in for your FILE filehandle. This is simply to make testing easier.
If you really did mean @x = (123456); then you will have to split the elements of @x in a seperate step.
@x = (123456); print STDOUT join(" ", map { sprintf "%7d", $_ } map { split //, $_ } +@x), "\n"; #outputs: 1 2 3 4 5 6
Perhaps your confusion lines in the density of the code. Here is the original expanded a bit:
my @x = (1,2,3,4,5,6); my @new; foreach my $x (@x) { push(@new, sprintf("%7d", $x)); } print STDOUT join(" ", @new), "\n"; #outputs: 1 2 3 4 5 6
I'll leave it to you to expand the @x = (123456) code.
In reply to Re: Re: Re: Re: Re: Re: Re: efficient Array printing to a file
by Somni
in thread efficient Array printing to a file
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |