トップページ⇒php
1001コメント332KB

【Perl】初心者コーナーPart9

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。01/12/28 23:21ID:SPLRvqQi
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけど、なんか質問ある?part5】
http://pc.2ch.net/test/read.cgi/php/1009331505/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/

過去ログ、その他の役立ち情報は>>2-10を見よう。
0809名無しさん@お腹いっぱい。02/02/15 20:34ID:???
>808
2ちゃんねるの過去ログなんて、これほどあさりにくいものはないっすよ
横やり失敬しました(笑)
081080002/02/15 23:15ID:???
>>808
あ、それはわかるんですけど、
実際使う上で違いがあるのかどうかを聞きたかったんです(^^;
0811名無しさん@お腹いっぱい。02/02/15 23:19ID:???
>>810
あ る に 決 ま っ て る だ ろ !
0812名無しさん@お腹いっぱい。02/02/16 01:38ID:???
ランキングで困っています。
2_45_5_74
4_36_3_53
8_83_2_27
こんな感じのデータがある時、12_45_5_74 の 
1番目の12と3番目の5を足してその値を大きい順に
並ばせるにはどうしたらいいでしょうか?

データを開いて、whileで各、足していって、
データ保存

保存したデータを大きい順に並べていって、
データ保存 

こんな感じを感じを考えているのですが、
一つにまとめる方法とかありますか?

おねがいします。
0813名無しさん@お腹いっぱい。02/02/16 01:41ID:???
速さ求めるならクイックソートでもすれば?
数値の大きさ比べるだけなら実装も楽でしょう。
0814名無しさん@お腹いっぱい。02/02/16 01:42ID:???
sort()使えば。
0815名無しさん@お腹いっぱい。02/02/16 01:44ID:???
挿入ソートとか。

計算後のデータを記憶する際に大きい順になるように記憶させれば。
0816断罪!断罪!また断罪!!02/02/16 01:54ID:???
> 812
open(READ, $readFile);
while(<READ>){
   if ( /^(\d+)_\d+_(\d+)/ ){
       $sort{$1+$2}++;
   }
}
close(READ);
open(WRITE, ">$writeFile");
for ( reverse sort keys %sort ){
   print WRITE "$_\n";
}
close(WRITE);
0817名無しさん@お腹いっぱい。02/02/16 01:57ID:???
>>816
いちいちソートするのって効率悪くないですか?
0818断罪!断罪!また断罪!!02/02/16 02:14ID:???
> 817
>
ソートだけにそーっとすればOK (ヮ
0819名無しさん@お腹いっぱい。02/02/16 02:21ID:smdGl30B
$moji = "a'a'a'a'";
となっているのをs//やtr//などを使って
$moji = "a\'a\'a\'a\'";
という結果にしたいのですが、どうしたらいいでしょうか?
0820断罪!断罪!また断罪!!02/02/16 02:22ID:???
> 819
>
$moji=~ s/'/\\\'/g;
0821賛成の反対の反対ナノだ!02/02/16 02:25ID:???
「断罪!断罪!また断罪!!」 改め、元の「賛成の反対の反対ナノだ!」に戻ります。
0822名無しさん@お腹いっぱい。02/02/16 02:27ID:smdGl30B
>>820
それはやってみました。以下のエラーがでます。
syntax error at test.cgi line 6, near "$moji~"
Execution of test.cgi aborted due to compilation errors.
0823名無しさん@お腹いっぱい。02/02/16 02:34ID:???
>822
=~じゃなくて ~= にしてない?
0824賛成の反対の反対ナノだ!02/02/16 02:35ID:???
> 822
>
$mojiに 漢字コードが入っているのでは?
0825名無しさん@お腹いっぱい。02/02/16 02:37ID:smdGl30B
>>823
ありがとう!!
自分のぼんくらミスに気付きませんでした。(感謝)
0826名無しさん@お腹いっぱい。02/02/16 02:39ID:???
>>820
それじゃ予め \' となっているものも置き換わので、後読みするのが吉。
s/(?<!\\)'/\\'/g;
0827名無しさん@お腹いっぱい。02/02/16 02:54ID:smdGl30B
>>826
ありがとう。(感謝)
0828名無しさん@お腹いっぱい。02/02/16 03:26ID:hJTYeQVW
>>805 素直にIO::File使うのじゃだめ?
use IO::File;
my $fh = new IO::File "text.txt", "w";
die "なんか開けませんでした:$!" unless $fh;
print $fh "abcd";
$fh->close;
0829名無しさん@お腹いっぱい。02/02/16 04:12ID:???
>>798
IO::Fileみたく型グロブを使うとか。
open HANDLE, 'hoge.txt';
$fh = *HANDLE{FILEHANDLE}; #$fh = \*HANDLE;
print $fh 'HOGE';
0830名無しさん@お腹いっぱい。02/02/16 04:28ID:???
最近のperlなら *GLOB{IO} って形じゃないかしら、と記憶。
0831名無しさん@お腹いっぱい。02/02/16 05:38ID:???
>803です。

>808
なるほど分かりました。そうします。
0832名無しさん@お腹いっぱい。02/02/17 03:46ID:???
スクリプトをできるだけ重くしないコツってどんなのがあります?
スクリプトを分割するってのは意味あるんでしょうか?
0833名無しさん@お腹いっぱい。02/02/17 12:39ID:???
>>832
例えば1〜10を足すとき、

for($i=1;$i != 10;$i++)
{
$sum += $i;
}

と、

$sum (10 * 9) / 2;

の2種類がある。

まぁ、こんなそのものズバリの公式がある場合は少ない。

基本的にはその処理をいかに少ない命令で実現するか。
sprintfとかは重いらしいwからそう言うのも考慮して。
ループの外でもできる処理はループの外に出すとか。
ループ内でうまくnext;last;を使うとか。

なお、分割したところでコード量は減らない。
むしろ各種オーバーヘッドがかかったり。

なぜ分けるかと言えばその方がわかりやすいから。
関連の機能をまとめてモジュール化しているわけです。



0834名無しさん@お腹いっぱい。02/02/17 12:42ID:jcHWzcYr
他人のソースを見て勉強しようと思うのですが、
誰のソースは勉強になる、誰のはやめとけっていうのは
やっぱりありますか??
全然perl初心者なので、そのへんの区別がつきにくいです、、
0835名無しさん@お腹いっぱい。02/02/17 12:44ID:???
>>834
初心者ならどれ読んでも参考にはなるかな?
と、言うか読めるのか??大変だぞ。人のソース。
0836名無しさん@お腹いっぱい。02/02/17 14:10ID:???
>>835
応、簡単な入門書などを読んで、すげー単純な掲示板などは
作れるようになったくらいのレベルです。
やっぱりもっと本などで十分に勉強してからのほうがいいのかも、、、
0837名無しさん@お腹いっぱい。02/02/17 14:14ID:???
コードをまねることはないんだよ。
おもしろいと思った処理を自分の書き方でパクればいい。
まぁ、クイックソートとかリストとかデータ構造とアルゴリズムは知って置いて良いかも。
0838名無しさん@お腹いっぱい。02/02/17 17:08ID:???
>833
なるほど,意味ないんですか。
まぁできるだけ意味のないこと(アクセスログ採取とか)はやめとけってことですね。

>834(>836)
そのくらいのレベルならここに定着したら良いかと。
0839名無しさん@お腹いっぱい。02/02/18 02:04ID:???
Win+ActivePerlなのですが、
Perlを実行する時は、コマンドプロンプトからですか?
ダブルクリックでは実行できますか?
あと、Perlの拡張子は何ですか?
0840名無しさん@お腹いっぱい。02/02/18 02:12ID:FZ6+Jcwo
あげ
0841 02/02/18 02:22ID:g517xzDH
なぜファイルハンドルという概念が必要なんでしょう
0842名無しさん@お腹いっぱい。02/02/18 03:17ID:???
>>834
人によって変数の書き方や改行の仕方の癖があるので
色々みてみて、自分の書き方に近い人、読みやすいものを
さがすといいのでは。
Perlだと、人によってはすごくトリッキーな、
もはや芸術的なコードを書く人がいますんで。
いいんだか悪いんだか最初はわからないかもだけど。
0843この子の七つのお祝いに02/02/18 03:25ID:???
> 839
DOS窓から次を実行。
% perl test.pl
--- 拡張子はなんでもOKだが、一般には.plを使う。---

> 841
ファイルとお話するためです。しゃべり専門と聞き専門がいますが、
しゃべり専門は、考えたことを一気にしゃべり倒すのか少しずつしゃべって
いくのかタイプが分かれますが、途中で切り替えることもできる器用な人です。
聞き専門の人は話が今どこまで進んでいるかを憶えておかないといけない。
0844名無しさん@お腹いっぱい。02/02/18 05:23ID:???
中身
 @zzz = ("a","b","c","d","e","f","g","h","i","j","k");
 $xxx = 3;
表示
 abc<br>def<br>ghi<br>jk<br>

「@zzzを$xxx回ごとに<br>で区切って表記」
と、いう処理をしたいんですが、どうしたらいいでしょうか?
0845名無しさん@お腹いっぱい。02/02/18 09:33ID:9k5avLiX
>841
同時に開くファイルが、1つであるとは限らないからです。
2枚以上のファイルを開いているときに、FHをつかって、
どっちに仕事させたいのか指定するのです。
0846名無しさん@お腹いっぱい。02/02/18 21:03ID:Lwlv3uzp
ここでいいのかな?

BBS作って、書き込みがあったら管理人のメアドに書き込み内容を自動送信するようにしたんです(sendmailで)。

自動送信するのとしないのとでは30秒程度のタイムラグがあります。sendmailの設定が悪いの?
0847名無しさん@お腹いっぱい。02/02/18 21:06ID:???
>>846
処理時間が増えたんだろ?
0848名無しさん@お腹いっぱい。02/02/18 21:07ID:???
>846
その質問内容で、君の相談内容が理解できたやつは神。
0849名無しさん@お腹いっぱい。02/02/18 21:12ID:???
>>846
MZ-80じゃあるまいし、書き込み変数をそのままsendmailに投げて送信するだけで30秒も掛からないっすよ。
0850名無しさん@お腹いっぱい。02/02/18 21:12ID:???
>>846
タイムラグの使い方変。
0851848402/02/18 21:20ID:zt3xmvgw
『ハッキングのわざが手に取るようにわかるサイト』または
『ハッキングのわざが手に取るようにわかる本』に書かれている内容を
実践・計画をした場合、以下の罪・違反・侵害に問われる可能性アリ。
どうかご注意して頂きたい。
http://www.puchiwara.com/hacking/
0852名無しさん@お腹いっぱい。02/02/18 21:25ID:???
プチワラねえ。
0853名無しさん@お腹いっぱい。02/02/18 21:28ID:???
プチワラなんでアクセス制限されないんだ?(笑)
0854名無しさん@お腹いっぱい。02/02/18 23:54ID:???
> 844
こんな感じ?

;# 設定
my( @zzz  )= ('a'..'k');
my( $xxx  )= 3;
my( $cat  );

;# 処理
for ($i=$[; $i<=$#zzz; $i+=$xxx){
   $cat.="$zzz[$i]$zzz[$i+1]$zzz[$i+2]<br>";
}
print $cat,"\n";
085584402/02/19 00:16ID:???
>>854
うひゃー(;д:)
出来ました。ありがとうございましたぁ(;_;)

あぁ、しかし、凄い初心者な質問だったということが
解答から見て取れる・・・ 鬱だ。(2週間目で初心者そのものですが)
0856名無しさん@お腹いっぱい。02/02/19 01:06ID:???
>855
いやめんどくさそうだから誰も書かなかったんだと思うよ。
0857名無しさん@お腹いっぱい。02/02/19 01:13ID:u2bv8Yg8
ボディに含まれる1000とか572とか0とかって何なんでしょうか?
で、これを飛ばすのにはどうしたらいいのでしょうか?

1000
<html><head><meta http-equiv="Content-Type" content="text/html; charset=x-sjis"><base href="http://pc.2ch.net/test/read.cgi/php/" target="body"></head><body><font size=2>
<a href="1003539977/l50">1: WebProg板の名無しさんを決めよう (299)</a> 
<a href="1013945931/l50">2: ASP VS PHP (24)</a> 
 (略)
<a href="987850713/l50">304: PH
572
PとJAVAさぶれっと (26)</a> 
<a href="987470871/l50">305: デザイナーとの連携 (28)</a>
 (略)
</body></html>
0
0858名無しさん@お腹いっぱい。02/02/19 01:19ID:???
>>857
HTTPのリザルトコード・・・にしては不自然。
何の話よ?ところで。
0859名無しさん@お腹いっぱい。02/02/19 01:44ID:???
socketでsubback.htmlを所得したらそんなのが混じるんですよね
まあtelnet系でも混ざってるんでPerlに限った話でもないでしょうし
ブラウザソースでは消えるんですが。

でも整形する時にはかなり邪魔なのでどうしたものかなぁ、と。。。
0860名無しさん@お腹いっぱい。02/02/19 02:09ID:???
>>856 
実は今、改めてみてみると、
$xxx= 3;
$xxxが絶対"3"で無ければなりたたない解答だと言うことに気付いた…(爆)
これじゃ$xxxが5だった場合に即破綻してしまう(汗)

う、うーん・・・。結構難しいのか・・・?
と、取り敢えず>>854をヒントに頑張ってみよう(;´д`)
ヒントは確かにもらえた感じがする。
お礼も「ありがとう」ぐらいしか言えないし、頼ってばかりでもなんだし(汗)
0861名無しさん@お腹いっぱい。02/02/19 02:21ID:uiFxg8op
@zzz = ("a","b","c","d","e","f","g","h","i","j","k");
$xxx = 3;
$i =1;
foreach(@zzz) {
print $_;
if ($xxx == $i) { print "<BR>"; $i = 1; }
else { ++$i; }
}
0862名無しさん@お腹いっぱい。02/02/19 02:22ID:???
my $i = 0;
foreach (@zzz) {
 print;
 $i++; $i %= $xxx;
print '<BR>' unless $i;
}
086386202/02/19 02:26ID:???
あう、かぶった。
0864名無しさん@お腹いっぱい。02/02/19 02:27ID:???
>>857,858
chunk-part-size の 16進表記
詳しくはHTTP/1.1仕様書などを見れ
0865名無しさん@お腹いっぱい。02/02/19 02:59ID:???
>>861-862
あっ、お二方、ありがとうございます(;-;)
しかし、同じ結果処理に色々な解答が出るものだなぁ。

いつか質問者じゃなくて解答者になれるんだろうかなぁ。
頑張ろう(>_<
0866名無しさん@お腹いっぱい。02/02/19 03:04ID:???
>865
一つの問いに数多の解答、がPerl。
半年がんばれば、回答者に入ってくると思うよ。
0867名無しさん@お腹いっぱい。02/02/19 06:03ID:???
>>864 ありがとうごぜーますです。。
ということでHTTP/1.0にしたらなんとなく解決しましたです。。
う、、これは逃げなのか、、(^_^;)
086886402/02/19 07:21ID:???
>>867
http://www.studyinghttp.net/rfc_ja/2616/sec3.html#sec3.6
http://www.studyinghttp.net/rfc_ja/2616/sec19.html#sec19.4.6
説明めんどいので、悪いがこの辺読んで理解してくれ。
0869名無しさん@お腹おっぱい。02/02/19 07:41ID:???
質問です。
例えば現時点でWEBプログラム板の上位にあるスレ
のスレタイトルをHTMLにインクルードしたい場合、
どんな処理をしたら良いのでしょうか。。
0870名無しさん@お腹いっぱい。02/02/19 07:52ID:???
>869
対象を取得し,解析し,変換し,書き出す。
0871名無しさん@お腹いっぱい。02/02/19 12:43ID:???
>>869
上位スレッドはsubject.txtに書き出されてるはずだから、
それを使えばいいと思う。

が、今のスクリプトってsubject.txtはどこにあるんだろ?
http://pc.2ch.net/php/subject.txt
ここじゃないんだぁ…。
0872名無しさん@お腹いっぱい。02/02/19 22:15ID:???
>>871
いや subject.txt は確かにそこにあるんだけど、
Monazillaに属する2ch専用ブラウザじゃなきゃ読み込めないように
しちゃったんだよね。。一応読み込む方法はあるんだけど。
0873名無しさん@お腹いっぱい。02/02/20 02:43ID:zdJQxaGu
分からなくて困っています。
以下は『1である限りはif文以下を実行せよ』という
スクリプトなのですが、何が1なのでしょうか?
『何かが1である限り』ではなく、『偽である限り』という意味なのでしょうか?
それなら何が偽なのでしょう?
while(0)とすると何も実行せずに終ってしまいます。

#!/usr/bin/perl -w

$| = 1;

$test = "mona";

while (1) {

if ($pid = fork) { wait; } else { print "子プロセス\t$test\n"; }

}

よろしくお願いします。
0874名無しさん@お腹いっぱい。02/02/20 03:38ID:???
0 は偽、1 は真。
while( ループ継続条件 ){
だから while (1)は、何時までもやってろゴルァ(゚Д゚)y-~~
0875名無しさん@お腹いっぱい。02/02/20 03:40ID:???
>>873
> 何が1
while の条件が1でしょ。常に真だろ。

あと、何でwaitpidじゃなくてwaitしてんの?
0876名無しさん@お腹いっぱい。02/02/20 03:41ID:3mg+TPcG
>>874
あ、そうでした。
0が偽、1が真だった。
でも・・・何を評価して真か偽かを決めてるんですか?
ごめんなさい。
0877名無しさん@お腹いっぱい。02/02/20 05:02ID:???
>>876
>0が偽、1が真だった。
だよね。
だから、while (1) { は
while (真) { っていうワケで常に真。
0878名無しさん@お腹いっぱい。02/02/20 05:05ID:dXs9ILx0
>>877
それだ!
うう・・・ありがとうございます。
そしてお休みなさい・・・。
0879名無しさん@お腹いっぱい。02/02/20 05:33ID:???
偽 0
真 0以外
でないの?
0880名無しさん@お腹いっぱい。02/02/20 05:40ID:???
undef
0881名無しさん@お腹いっぱい。02/02/20 05:59ID:???
空文字列も偽
0882名無しさん@お腹いっぱい。02/02/20 06:54ID:???
"0"
0883名無しさん@お腹いっぱい。02/02/20 10:47ID:???
>879
条件式には-1の場合もあり得る。
0884名無しさん@お腹いっぱい。02/02/20 12:32ID:???
正規表現に変数は使えないのですか?

$a = "aaa.jpeg";
$oks = "jpeg";

if($a =~ /\.$oks$/i){
  print "aru";
}

ファイル名の拡張子を調べるルーチンを組みたいのですが・・・
0885名無しさん@お腹いっぱい。02/02/20 12:49ID:???
>>884
「〜はPerlでは出来ないのですか?」と聞く前にまず自分が間違っていないかどうか確かめろ。
つーか、>>884の結果は「aru」なんだが、アンタどういう環境で実行してんだ?
0886名無しさん@お腹いっぱい。02/02/20 13:18ID:???
>885
解決。見まちがえてました(爆
0887名無しさん@お腹いっぱい。02/02/20 15:47ID:Mi91V+XZ
やりたいことはファイルに保存してあるURL一覧から情報を引っ張って来てどん
どん裏でどんどん画像をダウンロードすることです。すでにダウンロードを始め
ているファイルの転送が完了しないうちに次行に書かれてあるURLからダウンロー
ド始める・・・要するに同時にいくつものファイルをダウンロードするというも
のですが、forkの使い方で躓いています。

でも以下のスクリプトだと$fileの最初の行のURLをダウンロードし続けるだけで
す。実はforkの使い方がよく分かっておりません。
子プロセス側の処理はオーケーとして、親プロセス側の処理が問題なのではない
かと睨んでいますが、どうにも・・・。

よろしくお願いします。

#!/usr/bin/perl -w
$file = "./image";
open (READ, "<$file");
while (<READ>) { $data_url = "$_"; &get("$data_url"); }
close (READ);

sub get {
while (1) {

if (fork) {
wait;
} else {
print "Download: $_[0]\n";
system "wget -q $_[0] ";
exit;
}
}
}
0888名無しさん@お腹いっぱい。02/02/20 16:12ID:???
body$back_envで設定した壁紙と背景色が出力できるようになってるんですけど
同様にページのテキストの色を設定するのはどう書き加えればいいですか?
0889名無しさん@お腹いっぱい。02/02/20 16:15ID:???
>888
死んでしまえ。
0890名無しさん@お腹いっぱい。02/02/20 16:17ID:???
>888
Web制作
http://pc.2ch.net/hp/
こっちで聞いてごらんよ。

コーディングで変えたいっていうんだったら、フォントの色を変える部分で変数使ったらいい。
0891名無しさん@お腹いっぱい。02/02/20 16:17ID:???
>>887
>>874

>>888
作者に聞け
0892名無しさん@お腹いっぱい。02/02/20 16:36ID:???
>>887
上の方でwaitpidの事シカトされたから教えてやんない。
0893名無しさん@お腹いっぱい。02/02/20 16:40ID:???
perl -cでデバッグしてもなぜかEOFにエラーが出るんですがどういうことでしょう?


Missing right curly or square bracket at D:\usr\www\home\chat\chat.cgi line 834,
at end of line
syntax error at D:\usr\www\home\chat\chat.cgi line 834, at EOF
Execution of D:\usr\www\home\chat\chat.cgi aborted due to compilation errors.
0894名無しさん@お腹いっぱい。02/02/20 16:43ID:???
>>893
{}の対応がおかしくなっているのでは。
ブラケットを確認セヨ。
0895名無しさん@お腹いっぱい。02/02/20 16:49ID:???
>893
EOFまでのあいだに}が見つからないって話だよね。
0896名無しさん@お腹いっぱい。02/02/20 16:56ID:???
>894 >895
即レスさんくす!
さっそく探してみます!
0897名無しさん@お腹いっぱい。02/02/20 17:07ID:???
>894 >895
やったやった!動いた!ありがとう!
0898名無しさん@お腹いっぱい。02/02/20 17:15ID:???
>897
よかったねー!
0899吉野家紗香02/02/20 19:33ID:cwPAEcob
a1.html
a2.html
gikogiko.cgi
omaegana ――― b1.html
            b2.html
            omaemona ――― haa.txt
            oremona  ――― itteyoshu.dat
                        z.html

こういうファイル構成から下のようなファイル一覧を作るには、
どのようにやればよいですか?

a1.html
a2.html
gikogiko.cgi
omaegana/b1.html
omaegana/b2.html
omaegana/omaemona/haa.txt
omaegana/oremona/itteyoshu.dat
0900名無しさん@お腹いっぱい。02/02/20 19:54ID:???
カレントから再帰で潜って行って吐き出す
0901名無しさん@お腹いっぱい。02/02/20 20:09ID:???
過去ログに全く同じようなソースが転がってたよ。
http://www.angelfire.com/ak5/2ch-web-program/kako/979894521.html の97
090290102/02/20 20:10ID:???
違った。鬱士
0903名無しさん@お腹いっぱい。02/02/20 21:12ID:???
opendirつかうか、ls -lR取ってテキスト整形する。
0904名無しさん@お腹いっぱい。02/02/20 22:51ID:Mi91V+XZ
>>892
頭がいっぱいいっぱいでwhile(1)のことばかり気にしていて・・・。
ごめんなさい。

>>887の件、教えて下さい。
0905名無しさん@お腹いっぱい。02/02/20 22:59ID:???
ちょっと来てない間にpart9まで出来てたのか。
perlを勉強する人が増えたって証拠かな?
0906名無しさん@お腹いっぱい。02/02/20 23:15ID:???
>904
レス読み流してない?>>873周辺とか。
0907名無しさん@お腹いっぱい。02/02/20 23:19ID:???
みんながみんなperl習ったらおもしろくないね(ぷ
0908名無しさん@お腹いっぱい。02/02/21 00:15ID:???
Perlメモのファイルロックを使っています。
同時に3つのファイルをオープンする場合は,先にロックしてからまとめてオープンする(つまりロック→ファイル1オープン→ファイル2オープン→ファイル3オープン→アンロック)のと,それぞれのオープン直前に専用のロックをするのとどちらがいいのでしょう?

ただし,それぞれ別作業でオープンする場合もあります。
レス数が900を超えています。1000を超えると表示できなくなるよ。