What do you mean by individual accessors? Do you mean actually have a separate method for each field like "dump_num1"?
Yes, although I wouldn't name it that :-) Here's an example of a common, simple implementation:
sub num1 {
my $self = shift;
$self->{num1} = shift if @_;
return $self->{num1};
}
That'll let you get the current value with $oo->num1 and set a value with $oo->num1(123);
And i'm not totally familiar with modules/packages.
Your file Numbers.pm would start with package Numbers; use warnings; use strict; and end with 1; (the file needs to return a true value), and then the normal way to include it would be via use Numbers; - that's it. @INC includes the current working directory ., so initially you wouldn't need to change @INC at all if all your files are in the same directory. Later on, once you get into actually building a real library, you can deal with @INC - see for example lib or the -I switch.