in reply to declaring an array within a package

The error you got was very explanatory. It told you exactly where the problem is...

$self->@File = <FILE>;

What made you think that would work? Did you just make that syntax up and wish yourself good-luck?

I think you probably want something like this

@{$self->{File}} = <FILE>;
instead.

-sauoq
"My two cents aren't worth a dime.";