First of all, let me say that there
must be
a better way for you to store your data. However, you might
be stuck with the format, for all I know, so on with an
attempted solution ...
Okay, let's say you've split one line into fields using
the appropriate module.
You store those fields in @currentLine. Then you can do something
like:
foreach (@currentLine[3 .. 11]) {
printf ("%.*f", $currentLine[2], $_/(10 ** $currentLine[2])
}
The * sucks up the next variable in the list and uses it
as the field width; in this case, it slurps the first
appearance of
$currentLine[2] in the list.
Update: As
tilly has noted, the module I mentioned
above does not handle newlines embedded within records.
Another module,
recommended by the same
esteemed personage who is on
vacation does that, if it is required.
-
HZ