昔々はまったことあるけど,久々に Perl 使ったらはまったので記念*1に。 sub show { print join q{, }, @_; print "\n"; } # デフォルトでは後続する空フィールドは削除される show split(/:/, 'a:b:c:::'); ### => a, b, c # 第3引数を正数で指定すると,「最大で」そのフィールド数までしか分割しない show split(/:/, 'a:b:c:::', 2); ### => a, b:c::: # 「最大で」なので,存在するフィールド数以上を指定しても空で埋めたりはしない show split(/:/, 'a:b:c:::', 8); ### => a, b, c, , , # 負数を指定すると空フィールド含めて最大限分割してくれる show split(/:/, 'a:b:c:::', -1); #