Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^3: Increasing a field size for a record

by McA (Priest)
on Oct 16, 2012 at 13:31 UTC ( #999329=note: print w/replies, xml ) Need Help??

in reply to Re^2: Increasing a field size for a record
in thread Increaing a field size for a record

Hi Athanasius,

very interesting inline approach. But is it really necessary to use this "un-perl-ish" ;-) C-construct  for (my $i = 0; $i < @lines; ++$i) ? Does it also work with a foreach-loop or is then the inline editing broken?

Best regards

Replies are listed 'Best First'.
Re^4: Increasing a field size for a record
by sundialsvc4 (Abbot) on Oct 16, 2012 at 13:44 UTC

    If it works and is effortless to understand ... as the original construct does and is ... then I would give it no more time than that.

    You should write your program, not only to reformat the file but also to sanity-check its own results.   For example, if you can assert that the line should contain exactly, say, 11 groups, then your program should make that assertion, and it should die if it does not.   If you can say that (especially, nearby) fields should be of a certain form that can be checked by a regex, make that check.

    The reason is that, if there is a problem either with the file or with the program ... or if there has been some subtle change such that this program’s underlying assumptions no longer hold true as-written, then no human is likely to detect the problem.   But the software is in an ideal position to do so.

Re^4: Increasing a field size for a record
by Athanasius (Chancellor) on Oct 16, 2012 at 13:39 UTC

    Good point! After a little experimentation, it appears that the following also works:

    for my $line (@lines) { my @fields = split ' ', $line; $fields[1] .= ' ' x (50 - length $fields[1]); $line = join(' ', @fields); }

    Thanks, nice catch!

    Athanasius <°(((><contra mundum

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://999329]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2018-03-20 15:55 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (254 votes). Check out past polls.