Something like this might do you. Essentially everything inside the async will happen concurrently with everything after it until you join the threads back together.
use threads; use threads::shared; use Win32::SerialPort; use Net::FTP; my $sp = new Wi3n32::SerialPort( ... ); ... my $count = $sp-write( $out ); my $done :shared = 0; my $t = async{ my $in; until( $done ) { my( $count, $byte ) = $sp->read( 1 ); warn "Read error" and next unless $count = 1; $in .= $byte; } return $in; }; my $ftp = new Net::FTP( ... ); $ftp->get( 'theFile' ); $ftp->done; $done = 1; my $input = $t->join;
In reply to Re^3: Windows Serial Port Logging using Win32-SerialPort
by BrowserUk
in thread Windows Serial Port Logging using Win32-SerialPort
by dinasour
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |