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.
|