5部 関数リファレンス

split

split /PATTERN/,[EXPR,LIMIT]



splitは指定したPATTERNを分割の区切りとし、EXPRを分割し増す。返却値は分割後の配列です。LIMITには分割する回数の最大値を指定します。LIMITを省略すると、全てが分割されます。PATTERNを省略すると、タブかスペース(/[ \t\s]+/) で分割されます。

splitの使い方

$var = "One:Two:Three";
@list = split( /:/ , $var );
# @list の内容は(One, Tow, Three)

# LIMIT を使う
$var = "One:Two:Three";
@list = split( /:/ , $var, 2 ); # @list の内容は(One, Tow:Three) 

PATTERNにスペースを指定すると、EXPRの値を1文字ずつに分割します。

# @listの内容は(a, b, c, d, e)
@list = split(/ */, 'abcde');

PATTERNにカッコが含まれていると、デリミタ内の部分文字列にマッチするものも、配列要素に含まれるようになります。

@list = split(/([,-])/, "1-10,20"); #@listの内容は(1, '-', 10, ',', 20);

関連記事