Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: I need Hex conversion, not!

by Anonymous Monk
on Jan 07, 2013 at 14:16 UTC ( #1012037=note: print w/ replies, xml ) Need Help??


in reply to Re^2: I need Hex conversion, not!
in thread I need Hex conversion, not!

Thanks for the help but when I run the code, it cannot calculate addition of members of @message

Argument "\0^I^A\0\0^H^A\0^A\0^X\0\0aM-^?^E\0 \0\0\0\0^A\0M-^?\0M-^D.. +." isn't numeric in addition (+) at VPAP_test.pl line 32. Wide character in print at VPAP_test.pl line 37. þ1ý

To be able to run it, I fixed some errors

#!/usr/bin/perl use warnings; use strict; use IO::Socket; my $SM = "\xfe"; my $ADRDSTN= "\x00\x09\x01\x00"; my $ADRSRC= "\x00\x08\x01\x00"; my $MID= "\x01"; my $MDLH= "\x00"; my $MDLL= "\x18"; my $SUBMID= "\x00"; my $CHreq= "\x00\x61"; my $Pity= "\xFF\x05"; my $Flags= "\x00\x20"; my $Timeout= "\x00\x00"; my $Level= "\x00\x00"; my $NumOfSrcEl= "\x01"; my $SrcEl= "\x00\xFF\x00\x84\x10\x00"; my $NumOfDstnEl= "\x01"; my $DstnEl= "\x08\x10\x00\x01\x01"; my $Rsvd= "\x00"; my @message= $ADRDSTN . $ADRSRC . $MID .$MDLH . $MDLL . $SUBMID . $CHreq . $Pity .$Flags . $Timeout . $Level . $NumOfSrcEl . $SrcEl . $NumOfDstnEl . $DstnEl . $Rsvd; my $EM= "\xfd"; my $count=0; $count += $message[$_] for 0..@message-1 ; $count = 256 - ($count % 256); my $CHECKSUM= chr( $count ); my @VPAP= $SM . @message . $CHECKSUM . $EM; print @VPAP,"\n";


Comment on Re^3: I need Hex conversion, not!
Select or Download Code
Re^4: I need Hex conversion, not!
by Corion (Pope) on Jan 07, 2013 at 14:17 UTC
    $count += $message[$_] for 0..@message-1 ;

    Can you explain the intention of that line?

      Sum of all values in @message array. Element number is @message may be different in each message ( not for this example )

        Element number is @message may be different in each message ( not for this example )

        Element number in @message

Re^4: I need Hex conversion, not!
by BrowserUk (Pope) on Jan 07, 2013 at 14:38 UTC

    Try:

    #!/usr/bin/perl use warnings; use strict; use IO::Socket; my $SM = "\xfe"; my $ADRDSTN= "\x00\x09\x01\x00"; my $ADRSRC= "\x00\x08\x01\x00"; my $MID= "\x01"; my $MDLH= "\x00"; my $MDLL= "\x18"; my $SUBMID= "\x00"; my $CHreq= "\x00\x61"; my $Pity= "\xFF\x05"; my $Flags= "\x00\x20"; my $Timeout= "\x00\x00"); my $Level= "\x00\x00"; my $NumOfSrcEl= "\x01"; my $SrcEl= "\x00\xFF\x00\x84\x10\x00"; my $NumOfDstnEl= "\x01"; my $DstnEl= "\x08\x10\x00\x01\x01"; my $Rsvd= "\x00"; my $message= $ADRDSTN . $ADRSRC . $MID .$MDLH . $MDLL . $SUBMID . $CHreq . $Pity .$Flags . $Timeout . $Level . $NumOfSrcEl . $SrcEl . $NumOfDstnEl . $DstnEl . $Rsvd; my $EM= "\xFD"; my $count=0; $count += chr for split '', $message; $count = 256 - ($count % 256); $CHECKSUM= chr( $count ); my $VPAP= $SM . $message . $CHECKSUM . $EM; my $sock = new IO::Socket::INET( PeerAddr => 'localhost', PeerPort => '7070', Proto => 'tcp', ) ordie "Could not create socket: $!\n"; print $sock $@VPAP; close($sock);

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
    div class=

      That did not change the results, it just made error messages more, each argument is printed out in one line now.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (8)
As of 2014-08-01 06:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls