#!/usr/bin/perl -w # cross-platform example6 use strict; use vars qw( $OS_win $ob $file ); BEGIN { $OS_win = ($^O eq "MSWin32") ? 1 : 0; if ($OS_win) { eval "use Win32::SerialPort 0.11"; die "$@\n" if ($@); } else { eval "use Device::SerialPort"; die "$@\n" if ($@); } } # End BEGIN $file = 'tpj4.cfg'; if ($OS_win) { $ob = Win32::SerialPort->start ($file); } else { $ob = Device::SerialPort->start ($file); } die "Can't open serial port from $file: $^E\n" unless ($ob); $ob->write("ATE0X4\r"); $ob->read_interval(100) if ($OS_win); $ob->read_const_time(1000); my ($count, $result) = $ob->read(20); print "count = $count, result = $result\n"; $ob->read_interval(0) if ($OS_win); $ob->read_const_time(5000); $ob->write("AT&V\r"); ($count, $result) = $ob->read(40); print "count = $count, result = $result\n"; ($count, $result) = $ob->read(4000); print "count = $count, result = $result\n"; undef $ob;