3

Perlで、ファイルの1行にある複数の10進数を16進数に変換するにはどうすればよいですか?

最後に見つかった番号を変換するコードがありますが、前の番号は変換されません。最後に見つかった番号だけでなく、すべての番号を変換したいと思います。

if ($line =~ /[0-9]+/) {
   $loc = index($line,/\s+[0-9]+\s*/);
   $mybyte = substr($line,$loc);
   $newbyte = sprintf("%x\n", $mybyte);
   $newline = substr($line,0,$loc).$newbyte;
   print my_report $newline;
}
4

1 に答える 1

5
$line =~ s/([0-9]+)/sprintf "%X", $1/eg;
于 2012-06-30T00:34:13.933 に答える