• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Yahooの掲示板のような掲示板を作るのにはどうしたらいいのですか?)

【質問】Yahooの掲示板を作る方法

このQ&Aのポイント
  • Yahooの掲示板を作るにはどうしたらいいのでしょうか?トピックスにコメントができ、並べ替えや順位付けも可能な掲示板を作りたいです。
  • 「Perl/CGI入門」の本を読んだが、掲示板の並べ替えについての記述は見当たりませんでした。より多くの本を読んで勉強することも考えましたが、経験者や知識のある方のアドバイスがほしいです。
  • 掲示板作成について経験者や知識のある方にアドバイスをいただきたいです。本を読むだけではなく、実際の作成方法や必要な知識について教えていただけると幸いです。

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

  • ベストアンサー
回答No.2

#!/usr/bin/perl -T use warnings; use strict; use utf8; use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI::Pretty; my @threads = ( { name => 'AAA', date => '2009-01-03', subject => '333', }, { name => 'BBB', date => '2009-01-02', subject => '111', }, { name => 'CCC', date => '2009-01-01', subject => '222', }, ); my $q = CGI->new(); my ($sort_key) = $q->param('sort_key'); if (( !defined $sort_key ) || ( ( $sort_key ne 'name' ) && ( $sort_key ne 'date' ) && ( $sort_key ne 'subject' ) ) ) { $sort_key = 'name'; } my @tables; foreach my $thread ( sort { $a->{$sort_key} cmp $b->{$sort_key} } @threads ) { push @tables, $q->p( "name = $thread->{name}, date = $thread->{date}, subject = $thread->{subject}" ); } print $q->header( -charset => 'UTF-8' ), $q->start_html( -lang => 'ja', -title => 'Sort' ), $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=name' }, 'Sort Name' ), $q->br, $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=date' }, 'Sort Date' ), $q->br, $q->a( { -href => $ENV{SCRIPT_NAME} . '?sort_key=subject' }, 'Sort Subject' ), $q->br, @tables, $q->end_html;

その他の回答 (1)

  • makoji
  • ベストアンサー率25% (1/4)
回答No.1

各々の投稿データが、連想配列になります。 その連想配列の集まりが、あるキーに従ってソートされればいいんですよね。 CPANに Sort::MultipleFieldsモジュールというのがありますが、これで如何でしょうか。

参考URL:
http://search.cpan.org/dist/Sort-MultipleFields-1.0/lib/Sort/MultipleFields.pm

関連するQ&A