文字列を配列に分割しようとしていますが、分割は空白で発生します。テキストの各ブロックは、多数の(可変)スペースで区切られます。
ここに文字列があります:
NUM8 Host01 1,099,849,993 1,099,849,992 1
私は成功せずに以下を試しました。
my @array1 = split / /, $VAR1;
my @array1 = split / +/, $VAR1;
my @array1 = split /\s/, $VAR1;
my @array1 = split /\s+/, $VAR1;
私は終わりにしたいと思います:
$array1[0] = NUM8
$array1[1] = Host01
$array1[2] = 1,099,849,993
$array1[3] = 1,099,849,992
$array1[4] = 1
これを分割する最良の方法は何ですか?
split
の最初の引数が文字列 ''(スペース)である場合、それは特別です。任意のサイズの空白と一致する必要があります。
my @array1 = split ' ', $VAR1;
(ところで、最後のオプションとほぼ同じですが、先頭の空白も削除されます。)
\s+
1つ以上の空白に一致し、空白で分割されます
my @array1 = split /\s+/, $VAR1;