Is your customer balking at installing Expect/IO::Tty... in the standard perl/lib directories (the default) or do they just not want you to use library code?
If it is the first case can't you install these modules in another area? MakeMaker has options to install modules anywhere. Do a perldoc on ExtUtils::MakeMaker. At first glance you could use the 'LIB' feature...
perl Makefile.PL LIB=/dir/where/I/want/to/Install
There may be other features to set to make sure man pages and pod info gets put into the correct areas.
If you can do this , then all you would have to do is a 'use lib ...' at the top of you program and Expect would be available.
Comment on Re: Interactive Input without Expect.pm
You could simply write standard SQL scripts and parse the output....
system ('sqlplus -s /NOLOG @file.sql');
Inside your SQL,
set head off feed off ....etc
you write spool /script/dir/tmp/file.log;
SELECT .....
spool off;