#!/usr/bin/perl use strict; use warnings; use Mypackage; my $object = new Mypackage(); $object->setValue(100); print $object->getValue() . "\n"; # retrievable from any script __END__ $ perl main.pl 100 #### package Mypackage; use strict; use warnings; sub new { my $class = shift; my $self = { _value => shift, }; bless $self, $class; return $self; } sub getValue { my( $self ) = @_; return $self->{_value}; } sub setValue { my ( $self, $value ) = @_; $self->{_value} = $value if defined($value); # return $self->{_value}; } 1; #### #!/usr/bin/perl use strict; use warnings; use Mypackage; my $object = new Mypackage(100); print $object->getValue() . "\n"; $object->setValue(200); print $object->getValue() . "\n"; __END__ $ perl main.pl 100 200