Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Way to make this code better.

by shmem (Chancellor)
on Aug 15, 2015 at 12:52 UTC ( [id://1138691]=note: print w/replies, xml ) Need Help??


in reply to Way to make this code better.

Can someone tell me how to do this best way?

I have no idea about what your are doing, an don't know of the context.
But to make your code more readable, get your indenting right. If you are lazy, use perltidy. And it's prettify.

use strict; use utf8; use warnings; use Mojo::JSON qw|from_json|; use bytes; use MBclient; sub new { ... .; } sub _device_read { # $d as data # $mbc as ModBusControl # $r as response my ( $d, $mbc, $r ) = ( shift, MBclient->new(), undef ); # parse device config $d->{regs} = from_json( $d->{regs} ); # setup device attributes $mbc->host( $d->{ip} ); $mbc->port( $d->{port} ); $mbc->unit_id(0); # by default. # for all specified registers foreach my $reg ( keys %{ $d->{regs}->{r} } ) { $r->{$reg} = _prettify_byte( # read data from device registers $mbc->read_input_registers( # converting text register address to hex hex($reg), # specify number of registers to read $d->{regs}->{r}->{$reg} ) ); } return ($r); } # converts from hex data to deximal # recieve output from modbus sensors sub _prettify_byte { # okay state of deal return ( sprintf( '%.2f', unpack( 'f', pack( 's2', @{ $_[0] }[ 1, 0 ] ) + ) ) ) if ( $_[0] ); #return error message return ( $c{_err_} ); }
perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Replies are listed 'Best First'.
Re^2: Way to make this code better.
by builat (Monk) on Aug 15, 2015 at 13:03 UTC
    Shame on me. Thnx. Well this is a part of mojolicious method. It collects data from sensors. Some other methods sends driver signals and set on\off devices.
    So simply it is climatic data collector.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1138691]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2024-04-19 21:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found