Check out the SANE project at
http://www.sane-project.org. It has backends for many different platforms and a whole lot of frontend utilities too. I'm not sure if they have a Perl interface, but they have command-line utilities, and you can sure use Perl to drive those!
FYI, using TWAIN is like shooting at a moving target. Yeah, there's a standard, but it's reasonably loose, and not all TWAIN drivers have all the features you'd like them to have. I'm fighting with my own battles with TWAIN in another development environment. . .
Good luck!
MrCromeDome