• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列の作業について教えて下さい)

Perlを使った配列操作について

このQ&Aのポイント
  • 最近、テキストデータの整理にPerlを使っています。プログラミング初心者のため、配列の操作方法を教えてください。
  • 大量のデータには文のID番号と単語があります。同じIDを持つ単語に単語IDを付けたいです。
  • よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • goku3
  • ベストアンサー率35% (15/42)
回答No.1

いきなりの回答でよろしいでしょうか。 連想配列を二重に使っています。 この部分が分かりにくいかと思いますが、 こんな感じになると思います。 このスクリプトの引数に直接ファイル名を渡すものとします。 use strict; my %hash = (); while(<>){ chomp; # next if(/^\s*$/); もし空白行を飛ばしたいなどの条件があれば、 my($id,$word) = split(/\s+/,$_); push(@{$hash{$id}},$word); } foreach my $id (sort keys(%hash)){ my $n = 0; foreach my $wd (@{$hash{$id}}){ printf("%d %s %d\n",$id,$wd,++$n); } }

qisaskar
質問者

お礼

希望の通りでした。速やかのご教授本当に有難うございました。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

意味不明 1 a 1 1 b 2 1 c 3 2 d 4 2 e 5 2 f 6 2 g 7 3 h 8 3 i 9 3 j 10 3 k 11 3 l 12 4 m 13 4 n 14 なのか 1 a 1 1 b 2 1 c 3 2 d 1 2 e 2 2 f 3 2 g 4 3 h 1 3 i 2 3 j 3 3 k 4 3 l 5 4 m 1 4 n 2

関連するQ&A