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

Re: Problems reading records from file

by reneeb (Chaplain)
on Oct 23, 2006 at 07:55 UTC ( #579956=note: print w/ replies, xml ) Need Help??


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...

#!/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"; } }


Comment on Re: Problems reading records from file
Select or Download Code
Re^2: Problems reading records from file
by sanjay nayak (Sexton) on Oct 23, 2006 at 10:23 UTC
    Hi
    Thanks a lot for your suggestion? It works fine according to my requirment. But this block is not executed at the end .
    unless(@array){ print "There is no item remaining in the file"; last; }
    It does not print "There is no item remaining in the file" at the end.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (16)
As of 2015-07-07 15:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (90 votes), past polls