第35回 Perlで小技3

CSVから配列に落とし込む

use strict;

my $c = 'aaa,bbb,ccc,ddd';
my @d = split ',', $c, -1;
print $_, "\n" for @d;

結果

aaa
bbb
ccc
ddd

CSVをTSVに変換  置換バージョン

use strict;

my $c = 'aaa,bbb,ccc,ddd';
$c =~ s/,/\t/g;
print $c, "\n";

結果

aaa	bbb	ccc	ddd

CSVをTSVに変換  split と join のコンボ

use strict;

my $c = 'aaa,bbb,ccc,ddd';
$c = join "\t", split ',', $c;
print $c, "\n";

結果

aaa	bbb	ccc	ddd

配列から文字列をつくる

my @c = ('aaa', 'bbb', 'ccc', 'ddd');

という配列から、すべての要素が連結された

aaabbbcccddd

という文字列が欲しいとする

ソース

use strict;

my @c = ('aaa', 'bbb', 'ccc', 'ddd');
my $d = join '', @c;
print $d, "\n";

結果

aaabbbcccddd

配列から文字列をつくる part 2

my @c = ('aaa', 'bbb', 'ccc', 'ddd');

という配列から、すべての要素の間に ' -> ' という文字を入れて連結させた

aaa -> bbb -> ccc -> ddd

という文字列が欲しいとする

ソース

use strict;

my @c = ('aaa', 'bbb', 'ccc', 'ddd');
my $d = join ' -> ', @c;
print $d, "\n";

結果

aaa -> bbb -> ccc -> ddd

配列から文字列をつくる part 3

my @c = ('中西', '木村', '田中');

という配列から、すべての要素の後に 'さん ' という文字を入れて連結させた

中西さん 木村さん 田中さん

という文字列が欲しいとする

ソース

use strict;

my @c = ('中西', '木村', '田中');

push @c, '';
my $d = join 'さん ', @c;
print $d, "\n";

結果

中西さん 木村さん 田中さん

配列から文字列をつくる part 4

my @c = ('中西', '木村', '田中');

という配列から、すべての要素の前に ' (株)' という文字を入れて連結させた

 (株)中西 (株)木村 (株)田中

という文字列が欲しいとする

ソース

use strict;

my @c = ('中西', '木村', '田中');

unshift @c, '';
my $d = join ' (株)', @c;
print $d, "\n";

結果

 (株)中西 (株)木村 (株)田中