プロが教える店舗&オフィスのセキュリティ対策術

No.1 No.2 No.3 No.4
A 1011 1232 21af ff01
B 1111 2222 dfe1 aacc

上記のようなテキストファイルの1011やff01などの16進数を10進数表記にするスクリプトを作成したいのですがどうすればいいでしょうか?

A 回答 (2件)

#こんな感じ



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
    • good
    • 0

hex() も試す価値があることでしょう



$foo="ff01";
$bar=hex($foo);
で、$barの値は65281になります。

while (<>) {
  foreach $item (split) {
   printf("%d, ", hex($item));
  }
  print "\n";
}
...このままだと、先頭のAやBを10や11に変換してしまいますが(^^;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!