in reply to Re^2: How to identify string
in thread How to identify string

I don't think problem is in device, probably something with ENV. The script is simple:
use strict; use warnings; use Device::SerialPort; use HTTP::Tiny; sub send_msg { my ($self, $enccmd) = @_; my $pass = $oPrinter->write($enccmd) || return "Cannot communicate + with Fiscal printer !"; my $timeout = 1; $oPrinter->read_char_time(0); $oPrinter->read_const_time(200); # Read_Total = read_const_time + (read_char_time * bytes_to_read) my $chars = 0; my $buffer = ""; while ($timeout > 0) { my ($count, $saw) = $oPrinter->read(1); if ($count > 0) { if (ord($saw) != 22) { $chars += $count; $buffer .= $saw; } } else { $timeout--; } } return $buffer; } my $test = $self->send_msg("\r\nGET NEW DATA\r\n"); my $url = "$self->{HOST}/report.php?fnac="; $url .= "$self->{unic}&num="; $url .= "$test"; my $response = HTTP::Tiny->new->get($url);
I saw something like this string "\x33\x35" on other project and I start thinking may be the problem is how data is delivered, like error how data is parsed or send and parsed like php urlencode something like that. I also because never see such a value in variable, don't know how is present there. Any suggestion ?

Replies are listed 'Best First'.
Re^4: How to identify string
by GrandFather (Saint) on Mar 12, 2020 at 20:10 UTC

    You have provided an inconsistent fragment of the code you might be running. However I notice you are using Device::SerialPort. In the Example section of the documentation it says:

    It is recommended to always use "read(255)" due to some unexpected behavior with the termios under some operating systems (Linux and Solaris at least)

    Maybe that is a clue?

    Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond