私は次のようなリストを持っています
1,2,3
11,12,14
1,6,8
これらの数値をどのように分割すればよいですか
1
2
3
11
12
14
1
6
8
私は試した
@num=(1,2,3
11,12,14
1,6,8);
$splitnum=$splitnum.','.$num;
しかし、うまくいきませんでした。私を助けてください。
ありがとう
私は次のようなリストを持っています
1,2,3
11,12,14
1,6,8
これらの数値をどのように分割すればよいですか
1
2
3
11
12
14
1
6
8
私は試した
@num=(1,2,3
11,12,14
1,6,8);
$splitnum=$splitnum.','.$num;
しかし、うまくいきませんでした。私を助けてください。
ありがとう
その代入は perl で構文エラーを引き起こすため、別の言語を考えているに違いありません。文字列を引用することで簡単に修正できます。
my @num = ("1,2,3",
"11,12,14",
"1,6,8");
あなたの他の行が何を意味するのかわかりませんが、それでも間違っています。$num
と@num
は perl の 2 つの異なる変数であり、互いに何の関係もありません。
あなたができることはこれです:
@num = map split(/,/), @num;
map
各行を@num
カンマで分割し、リストを返します。
いつも入れるべき
use strict;
use warnings;
すべての perl スクリプトで。間違いはありますが、間違いを避けるように教えてくれます。それらを使用しないことは非常に悪い考えです。ヘルメットをかぶる代わりに目隠しをして頭を保護するようなものです.
まず、split
文字列(配列ではなく)を分割してリストを返します。したがって、コードは次のようになります。
my $str1="1,2,3,11,12,14,1,6,8";
my @num=split ',',$str1;
my $str2=join ' ',@num;
print $str2;
または
正規表現も使用できます$str=~s/,/ /gm
;