#!/usr/bin/perl -w use strict; package Foo; { # private my $set_a = sub { my $self = shift; $self->{a} = shift; }; # public sub a { my $self = shift; return $self->{a}; } # public sub new { my $self = bless {},shift; $self->$set_a('abcdef'); return $self; } } package main; my $foo = Foo->new; print $foo->a();