[英]unable to convert string to hex in PERL
我正在解析一個由十進制以及用“:”分隔的十六進制值組成的文件:
foreach $line (<INFO>) {
my ($seq_no, $size_in_bytes, $Hitcount, $buffer) = split /:/, $line;
# $size in_bytes is a hexadecimal value.
print "check 1 $size_in_bytes\n"; # printing some value in hexadecimal
$size_in_bytes = hex($size_in_bytes);
print "check 2 $size_in_bytes\n"; # Printing ZERO??
}
我也嘗試了以下方法,但仍然只給出零。
$dec_num = sprintf("%d", hex($num));
你能告訴我如何將字符串轉換為十進制嗎
由於問題出在字段中多余的空間上,因此您應該像這樣拆分
split /\s*:\s*/, $line
這樣,如果有空格,空格將被刪除,但是如果沒有空格, split
仍然可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.