Perl:CSV等区切り文字で連結されたデータを操作(joinとsplit)
技術ドキュメント目次 -> Perl -> CSV等区切り文字で連結されたデータを操作(joinとsplit)本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。
◆ joinとsplitとは
join 関数は、配列の各要素を指定された文字列で区切りながら結合した文字列を返す関数で、
split 関数はその逆で、
文字列を指定された文字列で分割した配列を返す関数になります。
どちらの関数もCSV(カンマ区切りテキスト)など特定の文字列で区切られた
データをを解析したり、作成したりするときに便利でよく使用されます。
join関数の構文は次のとおりです。
join EXPR, LIST |
また、split関数の構文は次のとおりです。
split /PATTERN/, [EXPR, [LIMIT]] ※LIMIT は分割数の上限値で、 EXPR は分割対象になる文字列の指定です。EXPR を省略すると $_ が使用されます。 |
◆ joinの使用例
join の使用例としては、例えば次のようなサンプルコードを用意して、
my @list = ('Taro', 'Jiro', 'Saburo'); my $str = join(',', @list); print $str . "\n"; |
それを実行すると次のような出力が行われます。
$ perl test.pl Taro,Jiro,Saburo $ |
◆ splitの使用例
また、split の使用例としては、例えば次のようなサンプルコードを用意して、
my $str = "Taro,Jiro,Saburo"; my @list = split(/,/, $str); for my $val (@list) { print "$val" . "\n"; } |
それを実行すると次のような出力が行われます。
$ perl test.pl Taro Jiro Saburo $ |
また、
LIMIT(分割数の上限値)を指定して次のようなコードを用意すると、
my $str = "Taro,Jiro,Saburo"; my @list = split(/,/, $str, 2); for my $val (@list) { print "$val" . "\n"; } |
次のような出力が行われます。
$ perl test.pl Taro Jiro,Saburo $ |
■ Perl についての他のドキュメント
- %SIGによるシグナルの制御
- CSV等区切り文字で連結されたデータを操作(joinとsplit)
- Digest::MD5
- Digest::SHA1
- localtime()やgmtime()をスカラーで評価
- 正規表現において // の代わりに || を使用する
- 正規表現における () と (?:) の違い
- 配列・連想配列を条件に基づいてソート(sort)
■ 他のグループのドキュメント
Apache / Linux / FreeBSD / OpenSSL / Perl / HTTPプロトコル / Jakarta Tomcat / Java / NetBSD / Oracle / PostgreSQL / UNIX の C言語 / UNIX のコマンド / Windows / bind / システム運用TIPS