gordu has asked for the wisdom of the Perl Monks concerning the following question:
Over the years I've dabbled in perl and every once in a while I get bit by this problem. Basically strings I try and print come out mangled. As an example
The output from running this is#!/usr/bin/perl use strict; use Device::SerialPort; use FileHandle; my $fh = FileHandle->new; my $port = Device::SerialPort->new("/dev/ttyACM1"); $port->databits(8); $port->baudrate(57600); # <-- match to arduino settings $port->parity("none"); $port->stopbits(1); $port->dtr_active(0); my $i=1000; my $rt = 0; my $rh = 0; my $it = 0; my $foos=""; select(STDOUT); while($i> 0) { my $inp = $port->lookfor; if($inp ne "") { if($inp =~ /Remote Temp:/) { $rt = $inp; $rt =~ s/Remote Temp://; print "inp=$inp\n"; print "rt=$rt\n"; $foos="$rt does not print rt \n"; print $foos; print "rt=$rt\n\n"; } } } $port->close; undef $port;
inp=Remote Temp:22.30 rt=22.30 does not print rt rt=22.30
Whats happening? BTW the input is a string like "Remote Temp:22.30"
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Strings mangled on printing
by Paladin (Vicar) on Jun 03, 2015 at 17:40 UTC | |
by atcroft (Abbot) on Jun 03, 2015 at 18:12 UTC | |
by roboticus (Chancellor) on Jun 03, 2015 at 22:47 UTC | |
by gordu (Initiate) on Jun 03, 2015 at 17:51 UTC | |
by RonW (Parson) on Jun 04, 2015 at 17:02 UTC | |
by sn1987a (Curate) on Jun 04, 2015 at 18:56 UTC |