FC2ブログ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Perl で2次元配列
相方が、ファイルの中身を2次元配列に入れたい。
みたいなことを言ってたんだけど、こんなのしか書けない。
こんなのワンライナーでいけるのだろうか。

use strict;
use Data::Dumper;

my @c = map { chomp; split /r/ } <DATA>;
my $d;
for(my $i=0; $i < int @c; $i++){
   $d->[$i] = [split /n/, $c[$i]];
}

print "$d->[0]->[0]" . "\n";
print "$d->[0]->[1]" . "\n";
print "$d->[1]->[0]" . "\n";

print Dumper $d;

__DATA__
AAAnBBBr
CCCCnDDDDnEEEr
FFFnGGGr

いけて、このあたりかなぁ。
use strict;
use Data::Dumper;

my $d;
my $i=0;
$d->[$i++] = [split /n/] for map { chomp; split /r/ } <DATA>;

print "$d->[0]->[0]" . "\n";
print "$d->[0]->[1]" . "\n";
print "$d->[1]->[0]" . "\n";

print Dumper $d;

__DATA__
AAAnBBBr
CCCCnDDDDnEEEr
FFFnGGGr

use strict 使わないなら、1行かなぁ。
use Data::Dumper;

$d->[$i++] = [split /n/] for map { chomp; split /r/ } <DATA>;

print "$d->[0]->[0]" . "\n";
print "$d->[0]->[1]" . "\n";
print "$d->[1]->[0]" . "\n";

print Dumper $d;

__DATA__
AAAnBBBr
CCCCnDDDDnEEEr
FFFnGGGr


なんか、
print "$d->[0][0]" . "\n";
print "$d->[0][1]" . "\n";
print "$d->[1][0]" . "\n";
矢印、省略できたぁ。

んじゃ、次の表記で、C言語っぽい表記になるなぁ
use Data::Dumper;

$d[$i++] = [split /n/] for map { chomp; split /r/ } <DATA>;

print "$d[0][0]" . "\n";
print "$d[0][1]" . "\n";
print "$d[1][0]" . "\n";

print Dumper \@d;

__DATA__
AAAnBBBr
CCCCnDDDDnEEEr
FFFnGGGr
スポンサーサイト
コメントを投稿する
Name:
URL:
Comment:

秘密:管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事にトラックバックする(FC2ブログユーザー)
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

08 | 2018/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。