>
> map { eval qq(\$declobber$_ = \$fdat{$_}) } keys %fdat;
>

using a symbolic reference, should be little faster (untested):

map { ${"$declobber$_"} = $fdat{$_} } keys %fdat;

addtionally you want make sure that your key contains a valid variable name
and isn't used to call some perl by constructing a function call (it's
pretty hard to do this inside a quoted string, but possible). So simply
replace all non alphanum characters with underscore and you are done:

map { my $n = $_ ; $n =~ s/[^a-zA-Z0-9_]/_/g ; ${"$declobber$n"} =
$fdat{$_} } keys %fdat;

of course it's a little bit longer like a function call, but these things
are very easy with Perl, so I don't see a need to build it into Embperl

Gerald




-------------------------------------------------------------
Gerald Richter    ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
E-Mail:     [EMAIL PROTECTED]         Voice:    +49 6133 925131
WWW:        http://www.ecos.de      Fax:      +49 6133 925152
-------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to