It's perhaps worth pointing out that some modules are wrappers around external libraries, e.g. XML::LibXML is an interface on libxml2. You'd need to ensure that the required libraries and so on are available on the target machines. An alternative idea worth considering would be packaging your scripts and their dependencies into an executable using something like PAR/pp, e.g. on my 64bit Debian system:
#!/usr/bin/perl
use strict;
use warnings;
use XML::LibXML;
use Spreadsheet::ParseExcel;
print "test\n";
Packaged to an executable Packaged via:
pp -x -o Packaged \
-l /usr/lib/x86_64-linux-gnu/libicudata.so \
-l /usr/lib/x86_64-linux-gnu/libxml2.so \
-l /usr/lib/x86_64-linux-gnu/libicuuc.so \
source.pl