my $fml = $self->{'VARS'}; $work =~ s{ % ( \w+ (?:\.\w+)* ) }{ dive($fml, split /\./, $1) }xegr;