package MyObject; use Class::MethodMaker new_hash_init => 'new', get_set => [qw(arg1 arg2)], ; package main; use strict; use warnings; use Data::Dumper; use XML::Simple qw(2.08); my $xml = XMLin(\*DATA); my %arg = map { $_ => $xml->{function}{parameter}{$_}{content} } keys %{$xml->{function}{parameter}}; my $object = MyObject->new(%arg); print $object->arg1(), "\n"; print $object->arg2(), "\n"; __DATA__ value1 value2