use Config::IniFiles;
my $global_ini_data = Config::IniFiles->new( -file => "test.ini" );
my $regex = $global_ini_data->val( 'client1', 'rename' );
my $filename = "201306051200foobar.dat";
eval "sub vodoo { \$_[0] =~ $regex }";
vodoo ( $filename ); # this does in-place edit.
print $filename,$/;
__END__
060520.1200foobar.dat
####
eval "\$filename =~ $regex";
die $@ if $@;
####
sub makesub {
# my ($client, $regex) = @_; update: wrong, we have 1 param
my $regex = shift;
my $sub = eval "sub { \$_[0] =~ $regex }";
die $@ if $@;
return $sub;
}
####
$hash{$client} = makesub($regex);
$hash{$client}->($filename); # $filename changed