Hello mje,
You can use read as a temporary solution it does not give the warning, but it is not the same as sysread.
From the read documentation:
The call is implemented in terms of either Perl's or your system's native fread(3) library function. To get a true read(2) system call, see sysread.
I just tested with your code and the output looks ok:
$ perl test.pl
child started
Cannot connect to child socket - Connection refused
Cannot connect to child socket - Connection refused
Cannot connect to child socket - Connection refused
connection from 127.0.0.1:33980
Child reading socket
shutdown 1
Child got /<element>Hello</element>/
connection from 127.0.0.1:33982
Child reading socket
Child EOF
Child reading socket
Child got /<element>Hello2</element>/
Child reading socket
Child EOF
shutdown 2
closing socket
Killing child
waiting on child
parent exiting
In comparison with sysread:
$ perl test.pl
child started
Cannot connect to child socket - Connection refused
Cannot connect to child socket - Connection refused
Cannot connect to child socket - Connection refused
connection from 127.0.0.1:33788
Child reading socket
sysread() is deprecated on :utf8 handles at test.pl line 108.
Child got /<element>Hello</element>/
connection from 127.0.0.1:33792
Child reading socket
sysread() is deprecated on :utf8 handles at test.pl line 108.
Child got /<element>Hello2</element>/
shutdown 1
Child reading socket
sysread() is deprecated on :utf8 handles at test.pl line 108.
Child EOF
Child reading socket
sysread() is deprecated on :utf8 handles at test.pl line 108.
Child EOF
shutdown 2
closing socket
Killing child
waiting on child
parent exiting
Give it a try if it meets your criteria.
I tested on:
$ perl -v
This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-li
+nux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)
Copyright 1987-2017, Larry Wall
Perl may be copied only under the terms of either the Artistic License
+ or the
GNU General Public License, which may be found in the Perl 5 source ki
+t.
Complete documentation for Perl, including FAQ lists, should be found
+on
this system using "man perl" or "perldoc perl". If you have access to
+ the
Internet, point your browser at http://www.perl.org/, the Perl Home Pa
+ge.
Hope this helps, BR.
Seeking for Perl wisdom...on the process of learning...not there...yet!
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.