sub AUTOLOAD { my $self = shift; our $AUTOLOAD; # I usually do... #$AUTOLOAD =~ s/(?:\w+::)+//; # ... but here's your pattern $AUTOLOAD =~ s/.*://; if ($self->{xmms}->can($AUTOLOAD)) { $self->{xmms}->$AUTOLOAD; } else { die "$AUTOLOAD not a valid method!"; } }