#!/usr/bin/perl use strict; use warnings; ####################################################### package MyModul; sub new { my $class = shift; my $self = {}; bless($self, $class); return $self; } sub search { my $self = shift; my $name = shift; return MyModul::Search->new($name); } 1; ####################################################### package MyModul::Search; use base 'MyModul'; sub new { my $class = shift; my $name = shift; my $self = {'_NAME_'=>$name}; bless($self, $class); return $self; } sub get { my $self=shift; return $self->{'_NAME_'}; } 1; ####################################################### package main; my $test=MyModul->new(); my $name_a=$test->search('NAME1'); print $name_a->get()."\n";