http://www.perlmonks.org?node_id=1004544


in reply to Re: Moose and File::Temp
in thread Moose and File::Temp

You may have some difficulty with isa => 'FileHandle' because while FileHandle is a core Perl module, Moose uses the type constraint string "FileHandle" to refer to unblessed Perl file handles - i.e. not objects created by the FileHandle package.

open my $fh , "<", "temp.txt"; $self->fh($fh); while (<$fh>) { print $_; }
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^3: Moose and File::Temp
by gsiglet (Acolyte) on Nov 19, 2012 at 14:26 UTC
    So it is impossible to use  while(<$self->{IamAfileHandleAttribute}>) { ... } > to read a file, outside my constructor. I guess I will have to do:
    my $temp_fh = $self->{IamAfileHandleAttribute}; while (<$temp_fh>) { ... }
      So it is impossible to use while(<$self->{IamAfileHandleAttribute}>) { ... } > to read a file
      no, it's not really impossible. you can just use readline instead of the diamond operator.
      while (readline $self->{IamAfileHandleAttribute}) {