#!/usr/bin/env perl -l use strict; use warnings; package With::Xml; sub new { bless {} => 'With::Xml' } sub xml { print "With::Xml::xml(): @_"; $_[0] } sub first_name { print "With::Xml::first_name(): @_" } sub last_name { print "With::Xml::last_name(): @_" } package main; use constant STUFF => { name1 => 'first_name', name2 => 'last_name', }; my $self = With::Xml::->new(); $self->xml()->$_() for values %{STUFF()};