Thread 0x und Bitshift ohne eval? (3 answers)
Opened by thecoder2012 at 2013-06-27 08:46

thecoder2012
 2013-06-27 08:46
#168616 #168616
User since
2013-02-04
64 Artikel
BenutzerIn
[default_avatar]
Hi,

habe ein kleines Problem mit der Deklaration.
Eval finde ich unschön und sollte man ja auch vermeiden.

Wie deklariere ich folgenden Quellcode ohne eval?

Code: (dl )
1
2
3
4
5
6
7
8
	my $hex = 'E1B4FF';
my $evalcode = '$hex = 0x'.$hex;
eval $evalcode;
#print $hex . "\n";#14791935
my $x1 = (($hex >> 16) & 0xFF);
my $x2 = (($hex >> 8) & 0xFF);
my $x3 = ($hex & 0xFF);
print $x1 . $x2 . $x3 . "\n";


Den Wert $hex bekomme ich an die Subroutine/Funktion übergeben daher kann ich nicht 0xE1B4FF als statische Variable schreiben und "0x".E1B4FF (oder 0x.$hex) führt zu einem anderen Ergebnis.

Auch aus einem ähnlichen Thema bei Perlmonks unter http://www.perlmonks.org/?node_id=695205 wurde ich nicht richtig schlau um mein gewünschtes Ergebnis ohne Eval zu erhalten.

Danke!

View full thread 0x und Bitshift ohne eval?