in reply to Problems reading records from file
You don't need a while-loop. You should use a for-loop.
And the test if any element is in the array should be unless(@array){...}.
You have to use the modifier g to delete "all" things from '#' to the end of line...
And the test if any element is in the array should be unless(@array){...}.
You have to use the modifier g to delete "all" things from '#' to the end of line...
#!/usr/bin/perl use strict; use warnings; { local $/; open DATA, '<',"san.txt" or die $!; my @blocks = map { [ split /\n/ ] } ( split /(?=ITEM NO:)/, ( map { s/#.*?\n//sg; $_ } <DATA> )[0] +); close DATA; for(@blocks){ my @array = @$_; unless(@array){ print "There is no item remaining in the file"; last; } print "@array\n"; } }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Problems reading records from file
by sanjay nayak (Sexton) on Oct 23, 2006 at 10:23 UTC |
In Section
Seekers of Perl Wisdom