■split
文字列を配列(リスト)に分ける関数です。
CGIプログラムではsplitを多用します。
|
|
$str = '10<>20<>30';
@array = split(/<>/, $str);
区切り文字を指定して@arrayを生成します。
この場合@arrayの要素内容は('10', '20', '30')となります。
|
|
$pair = 'title=perl';
($name, $data) = split(/=/, $pair);
このようにリストに分ける事も出来ます。
|
|
$str = '351';
@array = split(//, $str);
区切り文字を省略すると1バイトずつデータを分ける事が出来ます。
この場合@arrayの要素内容は('3', '5', '1')となります。
|
|
@array = split(' ', ' red green red ');
区切り文字をこのように指定すると一定の長さではないスペースを読み飛ばしてデータを分ける事が出来ます。
この場合@arrayの要素内容は('red', 'green', 'red')となります。
|
|
$str = 'one<>two<>three<>four';
foreach (split(/<>/, $str)) { print $_ . "\n"; }
splitで得られるリストを1つずつforeachで渡しながら処理をする事が出来ます。
|
|
■join
splitとは逆に配列(リスト)を文字列に連結する関数です。
|
|
@array = (10, 20, 30, 40, 50, 60);
$str = join('<>', @array);
@arrayの要素内容の間に「<>」を入れた文字列$strを生成します。
この場合$strの内容は「10<>20<>30<>40<>50<>60」となります。
|
|
print join('', @array);
このように区切り文字を省略する事も出来ます。
「102030405060」と表示されます。
|
|
□更新履歴
2007.04.22 全体的に内容を見直し
|
|
|