こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Perl テキスト ブログ

ホームページにブログを設置を考えています。
どうかご教示お願い致します。

今考えていることは
サイドにある記事のカテゴリ別や最新順といったものを表示することです。
最新順はできたのですが、
カテゴリ別が、うまいこといかないです。

テキストファイル内は
No(カテゴリ),日付,タイトル,本文,画像名
となってます
open(IN,$FILE);
@DATA = <IN>;
close IN;
で$FILEを開き
そこから、
カテゴリ別の(No.1の場合)
$a = 0;
my @match = grep(/^1,/, @DATA);
while (<@match>) {
$a++;
}
でカテゴリ1に絞込
カテゴリ1の合計値と元あった行Noを
求めたいのですが、
どのようにすればいいのでしょうか?

投稿日時 - 2017-02-28 08:50:04

QNo.9299150

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

連想配列で振り分けた方がやりやすいのは今書きません。

#変数末尾に行番号文字を追加する
for ($i=0; $i<@DATA; $i++) {
$DATA[$i] .=",$i" ;
}
$b = "";
my @match = grep(/^1,/, @DATA);
$a = $#match+1;
while (<@match>) {
#抽出 No(カテゴリ),日付,タイトル,本文,画像名,行No
(,,,,,$nums ) = split /,/, $_;
#行Noをカンマ区切りで追加
$b .= "$nums,";
}
#行末の,を削除
chop($b);
#~~~$a,$b
print "$a:$b";

検証はしていません。

投稿日時 - 2017-02-28 14:23:56