#!/usr/bin/perl system "stty 2400 cs8 > /dev/ttyS1 < /dev/ttyS1"; $sensor = $ARGV[0]; open DEV, "/dev/ttyS1" or die "Cannot open serial port!"; undef $outside; undef $inside; $reads = 0; while () { chomp; next, unless (/[0-9] 00.*\./); ($id, $temp) = split(/ /); if ($sensor) { next, unless ($sensor == $id); } $id = $1, if ($id =~ /[^0-9]([0-9]+)/); $inside = $temp, if ($id == 1); $outside = $temp, if ($id == 2); if ($reads > 2 || (defined($outside) && defined ($inside))) { goto HERE; } $reads++; } HERE: $inneg = ($inside =~ /\-/); $outneg = ($outside =~ /\-/); $inside = $1, if ($inside =~ /0+(.*)/); $outside = $1, if ($outside =~ /0+(.*)/); # $inside = int($inside); # $outside = int($outside); $inside = "-" . $inside, if ($inneg); $outside = "-" . $outside, if ($outneg); # print "Inside: $inside C\nOutside: $outside C\n"; print "Inside: $inside C Outside: $outside C\n";