perl 中的十六进制值
Hexadecimal values in perl
我有一个正在阅读的文本文件,每一行都有一个我想存储在变量中的十六进制值。
例如 - 假设一行的格式为“mytext 1c”,然后我想将“1c”存储在一个变量中,然后执行一些涉及十六进制值的计算。
如何使用 Perl 执行此操作?
要在空格处分割一行,您可以使用split ' '
。
my @fields = split(' ', $line); # In $fields[1]
或
my $hex = ( split(' ', $line) )[1];
根据你的例子,有一个键 + space(s) + 十六进制值:
my $line = "mytext 1c";
my ($key, $value) = split /\s+/, $line; # Regexpr to handle 1 or more whitespaces
现在,如果要进行算术运算,请使用hex function将$value
转换为数字:
my $sum = hex($value) + 1;
printf "%x\n", $sum; # <- prints: 1d
我有一个正在阅读的文本文件,每一行都有一个我想存储在变量中的十六进制值。
例如 - 假设一行的格式为“mytext 1c”,然后我想将“1c”存储在一个变量中,然后执行一些涉及十六进制值的计算。
如何使用 Perl 执行此操作?
要在空格处分割一行,您可以使用split ' '
。
my @fields = split(' ', $line); # In $fields[1]
或
my $hex = ( split(' ', $line) )[1];
根据你的例子,有一个键 + space(s) + 十六进制值:
my $line = "mytext 1c";
my ($key, $value) = split /\s+/, $line; # Regexpr to handle 1 or more whitespaces
现在,如果要进行算术运算,请使用hex function将$value
转换为数字:
my $sum = hex($value) + 1;
printf "%x\n", $sum; # <- prints: 1d