• 締切済み

16進→10進変換

No.1 No.2 No.3 No.4 A 1011 1232 21af ff01 B 1111 2222 dfe1 aacc 上記のようなテキストファイルの1011やff01などの16進数を10進数表記にするスクリプトを作成したいのですがどうすればいいでしょうか?

みんなの回答

  • e_watt
  • ベストアンサー率71% (25/35)
回答No.2

hex() も試す価値があることでしょう $foo="ff01"; $bar=hex($foo); で、$barの値は65281になります。 while (<>) {   foreach $item (split) {    printf("%d, ", hex($item));   }   print "\n"; } ...このままだと、先頭のAやBを10や11に変換してしまいますが(^^;

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

#こんな感じ while(<DATA>){ s/([0-9a-f]{4})/eval("0x$1")/gei; print ; } __END__ No.1 No.2 No.3 No.4 A 1011 1232 21af ff01 B 1111 2222 dfe1 aacc

関連するQ&A