Why you don't use google first?
see what google returns for "parallel port access in perl" :
h**p://search.cpan.org/~scott/Device-ParallelPort-1.00/lib/Device/ParallelPort.pm
h**p://linux.dd.com.au/quest/os-perl/parallelport/
h**p://www.lvr.com/jansfaq.htm
Q: How can I access ports using Perl?
A: (from Ron Glick)
You must have the Win32::API module (available at h**p://www.cpan.org) installed.
use Win32::API; #load API module to interface DLL's
$GetPortVal= new Win32::API("inpout32", "Inp32", , I); #import Inp32 from DLL
$SetPortVal= new Win32::API("inpout32", "Out32", [I,I], I); #import Out32 from DLL
$input= $GetPortVal->Call(0x378) & 255; #get and display current value of address 378 hex print "$input\n";
$return=$SetPortVal->Call(0x378,35); #set pins 2,3,7
$input= $GetPortVal->Call(0x378) & 255; #get and display updated value of address 378 hex
print "$input\n";