package 'test.pm' use Moose; use File::Temp; has 'tempfile' => ( is => 'rw', isa => 'File::Temp' ); sub BUILD { my $self = shift; my $args = shift; $self->{tempfile} = File::Temp->new(UNLINK => 1, SUFFIX => '.tmp'); print $self->{tempfile} "I am here"; } #### String found where operator expected at test.pm line 16, near "} "I am here"" (Missing operator before "I am here"?) #### $self->{tempfile} = File::Temp->new(UNLINK => 1, SUFFIX => '.tmp'); my $tmp = $self->{tempfile}; print $tmp "I am here";