#!/usr/bin/perl -w use strict; package foo; sub new { my ($class) = @_; return bless { foo => 'bar', }, $class; } sub baz { my ($self) = shift; print $self->{'foo'}, "\n"; } package main; my $obj = new foo; $obj->baz; # prints bar &foo::baz; # unitialized value warning issued