#!/usr/bin/perl use strict; use warnings; use Data::Dumper; package Class; my %class_hash; sub new { my $class = shift; my $value = shift || 'default'; my $self = { value => $value , class_wide => \%class_hash, }; bless $self, $class; return $self; } package main; my $obj1 = new Class('one'); $obj1->{class_wide}->{color} = 'red'; print Dumper $obj1; my $obj2 = new Class('two'); print Dumper $obj2;