Serial port control for Solaris is simpler. You don't need to download any special Perl modules. You can use "stty" to setup the port, syswrite to write, and sysread to read. Here's some code samples.
use POSIX qw

termios_h); # Used terminal IO library
# Setup terminal settings
sub SetupTerm() {
$Port="/dev/cua/b"; # Define port to communicate with
# Open PORT
open(PORT, "+<$Port"

|| die "FATAL ERROR - Cannot open $Port. Check for tip windows"

;
$FHport = fileno(PORT);
$Term = POSIX::Termios->new();
$Term->getattr($FHport);
$Oterm = $Term->getlflag();
$Echo = ECHO | ECHOK | ICANON;
$NoEcho = $Oterm & ~$Echo;
$Term->setlflag($NoEcho); # Disable echo
$Term->setcc(VTIME, 5); # Set VTIME to 0.5 seconds
$Term->setcc(VMIN, 0); # Return immediately if byte received
$Term->setispeed(&POSIX::B38400); # Set input to 38400
$Term->setospeed(&POSIX::B38400); # Set output to 38400
$Term->setattr($FHport, TCSANOW); # Set the termio attributes
system("stty -a < $Port"

if $Debug; # Display terminal settings
} # End of SetupTerm
# Write message one byte at a time
sub SendMsg($) {
$Msg = "@_";
@CharList = split //, $Msg; # Split message into bytes
# Send message
foreach $Char (@CharList) {
$Written = syswrite(PORT, $Char, 1, 0); # Send a byte
die "FATAL ERROR - syswrite() error: $!" unless (defined($Written));
$BytesRead = sysread(PORT, $Junk, 1, 0); # Read a byte
die "FATAL ERROR - sysread() error: $!" unless ($BytesRead);
}
$Written = syswrite(PORT, "\r", 1, 0); # Send \r
$BytesRead = sysread(PORT, $Junk, 1, 0); # Throw away \r
die "FATAL ERROR - sysread error: $!" unless ($BytesRead);
$BytesRead = sysread(PORT, $Junk, 1, 0); # Throw away \r
die "FATAL ERROR - sysread error: $!" unless ($BytesRead);
} # End of SendMsg
# Read all bytes
sub ReadBytes() {
$Offset=0;
do {
$BytesRead = sysread(PORT, $Reply, 1, $Offset); # Read a byte into $Reply
$Offset++; # Increase $Reply offset
die "FATAL ERROR - sysread error: $!" unless (defined($BytesRead));
} while ($BytesRead); # Read until no bytes left
return($Reply); # Return the string read
} # End of ReadBytes