小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

split関数の第一引数

split関数の第一引数は、通常、パターン(正規表現)を『/』区切り文字で指定します。
しかし、『/』区切り文字以外にも『'』や『"』も使えるみたいです。
またしかし、『/ /』と『' '』は、振る舞いが、以下のように違う感じです。

◆サンプル

use strict;
use warnings;

my @xtbl;
my $xtbl = "aaa  x+  bbb  x+  ccc";
@xtbl = split(/ /, $xtbl);
print "-----『/ /』を使用------\n";
print $xtbl[0], "\n";
print $xtbl[1], "\n";
print $xtbl[2], "\n";
print $xtbl[3], "\n";
print $xtbl[4], "\n";
print $xtbl[5], "\n";
print $xtbl[6], "\n";
print "\n-----『' '』を使用------\n";
@xtbl = split(' ', $xtbl);
print $xtbl[0], "\n";
print $xtbl[1], "\n";
print $xtbl[2], "\n";
print $xtbl[3], "\n";
print $xtbl[4], "\n";
print $xtbl[5], "\n";
print $xtbl[6], "\n";

◆上記実行結果

C:\Documents and Settings\koike\wk>perl split.pl
-----『/ /』を使用------
aaa

x+

bbb

x+

-----『' '』を使用------
aaa
x+
bbb
x+
ccc
Use of uninitialized value in print at split.pl line 22.

Use of uninitialized value in print at split.pl line 23.

実は、『' '』は『/\s+/』と解釈されるみたいです。
これ以外は、『'』や『"』はパターン指定として『/』と同様に使える感じです。
そう、split関数では『'』や『"』は文字列指定でなく、あくまでもパターン指定(正規表現)なのです。


にほんブログ村 IT技術ブログ Tipsへ