Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re^6: last in a do while loop (for (;;))

by ikegami (Patriarch)
on Jan 23, 2008 at 21:49 UTC ( #663897=note: print w/replies, xml ) Need Help??

in reply to Re^5: last in a do while loop (for (;;))
in thread last in a do while loop

For starters, I'm not sure why this is in this thread. You might benefit from starting a new one since more eyes will see your post.

Sounds very convoluted. Have you thought about using functions? Not sure what your data looks like, so this may not fit without modification:

sub read_block { my ($fh) = @_; my $header = <$fh>; return undef if !defined($header); my @block = $header; do { my $line = <$fh>; die "Unexpected end of file\n" if !defined($line); chomp($line); push @block, $line; while ($line !~ /footer/); return \@block; } while (my $block = read_block($fh)) { ...process block... }

Replies are listed 'Best First'.
Re^7: last in a do while loop (for (;;))
by JimmyDa (Initiate) on Jan 25, 2008 at 16:10 UTC
    Did it here as I didn't feel like it needed a completely new topic. I'll probably stick with the bare block in the future. The data is generated by a program that does some artificial splitting of the lines if it has over 80 characters in a line so... to do anything useful with the data the lines need to be reordered. Thanks both of u.
      redo is usually good for that.
      while (<$fh>) { chomp; if (... && !eof($fh)) { $_ .= <$fh>; redo; } ... }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://663897]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2023-05-31 09:08 GMT
Find Nodes?
    Voting Booth?

    No recent polls found