Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Moose reading file line by line

by Corion (Patriarch)
on Apr 27, 2015 at 12:46 UTC ( [id://1124864]=note: print w/replies, xml ) Need Help??


in reply to Moose reading big file line by line

Why not store the filehandle in your object and read one line from it in the nextLine sub?

Where does Moose come into play in your problem?

Replies are listed 'Best First'.
Re^2: Moose reading file line by line
by learning.moose (Novice) on Apr 27, 2015 at 13:01 UTC

    I also was trying to do it this way:

    has 'handler' => ( isa => 'FileHandle', is => 'rw' ); sub openHandler { my $self = shift; open( $self->handler, '<', $self->file ) or croak "Can't open file +"; } sub closeHandler { my $self = shift; close $self->handler; } sub readLine { my $self = shift; return <$self->handler>; }

    but im getting Bareword syntax error

      It would be easier if you told me where Perl reports a syntax error.

      The following is not really valid Perl:

      return <$self->handler>;

      See readline resp. I/O-Operators about how to use a more complex expression as a filehandle. You could also just simplify your code to the following construct:

      sub readLine { my $self = shift; my $fh= $self->handler; return <$fh>; }

      I'm not sure whether your open $self->handler actually doess the right thing, but then, I don't know how Moose proposes you store filehandles and what the 'FileHandle' type is supposed to do. I presume that $self->handler does not return a reference to the actual filehandle, so your open might just be useless because you never store the actual opened filehandle back into the object.

        You are right in everything you have written. So to make it work should I make a reference to $fh and that reference to be $self->handler?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2024-04-24 00:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found