【Perl】文字列を改行文字で分割(split)するときに末尾の空行も入れたい
2017-01-19-2
[Perl][Programming]
長いことPerlを使っているけど、いまさらながらちょっとはまったのでメモ。
いままで気にせずにやってたけど、必要なときもある。
サンプルスクリプト:
実行結果:
いままで気にせずにやってたけど、必要なときもある。
サンプルスクリプト:
#!/usr/bin/env perl
use strict;
use warnings;
my $text = "this
is
a
pen
"; # 末尾に空行が2行
# 普通に split
print join("", map {"[$_]"} split(/\n/, $text))."\n";
# split の第二引数に -1
print join("", map {"[$_]"} split(/\n/, $text, -1))."\n";
# ファイル末尾が改行だと1行余分になるので削る
chomp $text;
print join("", map {"[$_]"} split(/\n/, $text, -1))."\n";
実行結果:
[this][is][a][pen] [this][is][a][pen][][][] [this][is][a][pen][][]
この記事に言及しているこのブログ内の記事
