sub new_atom_obj { my $class = 'XML::Atom::Syndication::' . shift; ( my $file = $class ) =~ s{::}{/}g; $file .= '.pm'; require($file); unshift @_, $class; goto &{ $class->can('new') }; } sub set_fields { my $self = shift; while (@_) { my $field = shift; my $val = shift; $self->$field($self, $val); } return $self; }