本記事では、Perlスクリプトにおいて、以下の文字列を数値に変換する方法を紹介します。
- 10進数の文字列
- 16進数の文字列(0xなし)
- 16進数の文字列(0xあり)
10進数の文字列を数値に変換する
int関数を使用することで10進数の文字列を整数に変換できます。
#!/usr/bin/perl
use strict;
use warnings;
my $decimal_string = '123'; # 10進数の文字列
my $number = int($decimal_string); # 文字列を整数に変換
print "10進数の文字列 '$decimal_string' は数値に変換すると $number です。\n";
実行結果
10進数の文字列 '123' は数値に変換すると 123 です。
16進数の文字列(0xなし)を数値に変換する
hex関数を使用して16進数の文字列(0xなし)を数値に変換できます。
#!/usr/bin/perl
use strict;
use warnings;
my $hex_string_without_0x = '1A'; # 16進数の文字列(0xなし)
my $number = hex($hex_string_without_0x); # 文字列を16進数として解釈し、数値に変換
print "16進数の文字列(0xなし) '$hex_string_without_0x' は数値に変換すると $number です。\n";
実行結果
16進数の文字列(0xなし) '1A' は数値に変換すると 26 です。
16進数の文字列(0xあり)を数値に変換する
0xありの16進数宇も、hex関数を使用して16進数の文字列(0xあり)を数値に変換できます。Perlのhex関数は0xプレフィックスが付いた文字列も適切に処理できます。
#!/usr/bin/perl
use strict;
use warnings;
my $hex_string_with_0x = '0x1A'; # 16進数の文字列(0xあり)
my $number = hex($hex_string_with_0x); # 文字列を16進数として解釈し、数値に変換
print "16進数の文字列(0xあり) '$hex_string_with_0x' は数値に変換すると $number です。\n";
実行結果
16進数の文字列(0xあり) '0x1A' は数値に変換すると 26 です。
まとめ
本記事では、Perlスクリプトで文字列を数値に変換する方法を紹介しました。10進数はint関数、16進数はhex関数を使用しましょう。