Thread Typisiert Perl in pack()? (3 answers)
Opened by rosti at 2017-01-24 10:35

rosti
 2017-01-24 10:35
#185915 #185915
User since
2011-03-19
3472 Artikel
BenutzerIn
[Homepage]
user image
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread


Code (perl): (dl )
1
2
 print "#$address#\n";
 my ($b1, $b2) = unpack "CC", pack "n", $address;


wirft

Code: (dl )
1
2
3
4
Argument "0x1A85" isn't numeric in pack at D:\home\netsh100633\tools\dongle.pl line 52.
Argument "0x1A85" isn't numeric in pack at D:\home\netsh100633\tools\dongle.pl line 52.
#0x1A85#
#0x1A85#


Jedoch mit cast: my ($b1, $b2) = unpack "CC", pack "n", hex $address; läuft das sauber.

War das schon immer so?

MfG ;)

PS/Edit: print pack "C", "0x85"; reproduziert die Fehlermeldung. D.h., gequoted wird 0x1A usw. nicht als Zahl verstanden. Der hex-Cast ist also notwendig, wenn eine Zahl so notiert bspw. aus einer Datei kommt.
Last edited: 2017-01-24 11:02:21 +0100 (CET)

View full thread Typisiert Perl in pack()?