#!/usr/bin/perl use strict; my %vars = ( 'user_login' => { req => 1 }, 'user_passwd' => { req => 1 }, 'user_display' => { req => 0 }, ); my $f = Foo->new(); while ( (my ($key,$atr)) = (each %vars)) { print "$key, $atr\n"; # eg, trying to construct and call autoloaded # $f->prefix_user_login method. &$f->"prefix_$key"( $atr); } package Foo; sub new { return bless( { }, shift); } sub AUTOLOAD { use vars '$AUTOLOAD'; print "autoloaded method: $AUTOLOAD \n"; } sub DESTROY {}