in reply to Laundering tainted 'eval'

You can also try the untaint method of IO::File:

use IO::File; my $fh = new IO::File; $fh->open("<$usrhash") or die ......; $fh->untaint(); flock($fh, LOCK_SH) or die..........; $/=undef; eval <$fh>; $fh->close(); $/="\n"; my %newhash=%$USRLST1; # the reference as created by Data::Dumper

Of course, this bypasses the protection that taint mode offers, so it should only be used with great care.

-jehuni