#!/usr/bin/perl use strict; package Tool; sub new{ print "test"; } 1; package main; my $page = 'module'; my $obj; my %states = ( module => sub {Tool->new ()}, ); if ($states{$page}){ $obj = $states{$page}->(); } #### test