Perlに関する質問です。


7年ぶりくらいにPerlを使うことになったのですが、
ある、CSVファイルを読み込んで、行数をカウントさせたいのですが、
スマートな方法がわかりません。

関数も調べてみたのですが、見つかりませんでした。

※PHPで言うところのcount()です。

スマートな方法があれば、ご教授願います。

-------------------------------
自分でやってみたスクリプト
-------------------------------
open(CSV_FILE,”$csv_file”);
@lines = <CSV_FILE>;
close(CSV_FILE);
$list_num = 1;
foreach my $value (@lines){
$list_num = $list_num + 1;
}

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/06/23 22:50:00
  • 終了:--

回答(3件)

id:RC30-popo No.1

POPO回答回数345ベストアンサー獲得回数132005/06/23 22:56:10

ポイント28pt

open(CSV_FILE,”$csv_file”);

@lines = <CSV_FILE>;

close(CSV_FILE);

$listnum = @lines;


じゃ駄目ですか?

id:keijiro

あら、@linesが数でしたか。

こんな単純なことも忘れるなんて、

月日のたつのは恐ろしいです。

ありがとうございました。

ちなみに、数を知りたかったので、0スタートではなく、1スタートなので

----------------------------------

open(CSV_FILE,”$csv_file”);

@lines = <CSV_FILE>;

close(CSV_FILE);

$list_num = @lines + 1;

----------------------------------

にしました。

2005/06/23 23:16:00
id:masahikokimoto No.2

masahikokimoto回答回数241ベストアンサー獲得回数102005/06/23 23:01:16

ポイント27pt

CSVである必要はないんですね。

これでは駄目でしょうか。


open(CSV_FILE,”cvsfile.csv”);

@lines = <CSV_FILE>;

close(CSV_FILE);

$list_num = $#lines + 1;

id:keijiro

そうですね。

CSVである必要はないですね。

行数なので、どんなファイルでも良かったです。

正回答をありがとうございます。

2005/06/23 23:17:19
id:english No.3

english回答回数304ベストアンサー獲得回数02005/06/23 23:02:19

ポイント5pt

配列の数を取得したいだけであれば、


$length = @lines;


で取得可能です。

id:keijiro

だったみたいですね。

ありがとうございました!

2005/06/23 23:17:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません