in reply to RFC: beginner level script improvement
## set the Newline/Carriage Return character(s) this device expect +s (e.g. NL = \n, CR = \r, CRLF=\r\l) $NL = "\r\l"; $NL = "\r\l";
The \l escape sequence in interpreted by perl to mean "lower case the next character" so those strings are just the one character \r. See lcfirst.
$NL = "\0xa";
'x' is not a valid octal digit so that string consists of three characters, "\0", 'x' and 'a'. Perhaps you meant "\x0a"?
If you need help with network compatible line endings see the Socket module.
sleep 0.1;
You use this statement 18 times but sleep does not accept fractions of a second, only whole seconds. Perhaps you should look at the Time::HiRes module or Perl's select function.
|
|---|