in reply to Can I have some simple solution
until is a looping construct. The entire loop is this:
push @group, $entire_file[$i] until ( $i % 5 == 0 );
Which can also be written as this:
while( $i % 5 != 0 ) { push @group, $entire_file[$i]; }
As you can see (or should be able to see if you've spent any time at all programming), $i never changes in this loop. ...so it will either not execute at all (if $i is a multiple of 5), or will execute forever otherwise. Well, "forever", until you fill your memory with copies of $entire_file[$i].
You might have intended something more along the line of:
push @group, $entire_file[$i] unless $i % 5 == 0;
That's not a looping construct -- it's just a conditional. In this way, $i will have its value change as the outer foreach loop progresses.
Dave
|
|---|