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

CGIだけど、なんか質問ある?Part 5

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/12/26 10:51ID:???
■過去ログ
 Part 3 http://pc.2ch.net/test/read.cgi/php/988727833/l50
 Part 4 http://pc.2ch.net/test/read.cgi/php/1000804655/l50

その他参考になるスレッドを >>2 に纏めたので、十分に調べた上で質問して下さい。
0630名無しさん@お腹いっぱい。02/02/12 20:28ID:xItClW5N
File Upload CGI Second Editionを設置したら、一部ファイルが削除できなくなってしまいました。
削除方法を教えてください。
掲示板も潰れてて質問もできないです。
http://homepage1.nifty.com/~heppoko/
↑ここで配布してます。
0631名無しさん@お腹いっぱい。02/02/12 21:01ID:J8KR6oNi
プログラマに向いていない度
>>612>>>>>>>>>>628>>>>623
>>628
>いかに少ない手間で望んだ処理を実装できるかがプログラマのセンスだ。
少ない手間で済まそうと、CGI.pmを多用して鯖に迷惑をかける人の発言っぽいので減点。
>>629
激しく同意
>>612
タグのたかが40個も書けない奴はJAVAを書くとしたらハローワールドしか
書けません。逝ってヨシ
063263002/02/12 21:08ID:xItClW5N
削除用CGIスクリプトを見つけて自己解決です。
また質問するかもしれないのでよろしく。
0633名無しさん@お腹いっぱい。02/02/12 21:15ID:???
>>630
File Upload CGI Second Editionというのを設置した事がないんだが、
FTP(か付随のファイルマネージャ)を使って削除すればいいんでは?
其れとも、それ自体ができないのか? 関係ないならスマソ
0634名無しさん@お腹いっぱい。02/02/12 21:18ID:???
>>633
CGIで負荷をかけつつファイルをうpするなんてナンセンスだよね。
FTP使ったほうが数倍まし。
実際そういうスクリプトってプログラマが自己満足(勉強)のためだけに作成
してるパターンが多いと思う。。
0635名無しさん@お腹いっぱい。02/02/12 21:24ID:???
>>634
20-21番ポートが閉じられている教育機関がどれだけ多いか考えたこと無いだろ?

インターネットへのゲートウェイとしてHTTPプロキシしか用意されていない環境とか想像したこともないだろ?

FTPでも負荷はかかるって驚愕の新事実だろ?

自分の世界だけで人をバカにしないように。
0636名無しさん@お腹いっぱい。02/02/12 21:31ID:???
>>635
"設置したら"っていってるんだからFtpで設置したんでしょ
0637名無しさん@お腹いっぱい。02/02/12 21:33ID:???
>>635
別にバカになんかしてなぃょぅ。。
実際漏れは自己満足だけのためにアップロードcgiを作成中だから
言ってみたんだよ。ゴメンネ。
0638名無しさん@お腹いっぱい。02/02/13 13:16ID:???
>>612
gifcat.pl使って同じ問題発生してるよ。
透過gifを使った場合にグチャグチャな表示になる。
透過gifじゃない場合は最初の一桁が黒くなる。
とほほのページも後者になってるから、たぶんgifcat.plの問題っぽい。
全然解決策じゃないけど、透過gifを止めて桁数を1つ多くしとくとか。
0639教えてください。02/02/13 17:00ID:TSfdBnbM
すみません。教えてください。
SSIのような感じで外部htmlをcgiのページに入れることって可能ですか?
ちなみにshtmlに外部htmlだと「#include」を使います。
こんな感じにcgiのページに取り組むことって出来るのでしょうか?
よろしくお願い致します。
0640名無しさん@お腹いっぱい。02/02/13 17:25ID:???
>>639
CGIにそのような機能は無いが、
CGIスクリプト自身で実装は可能。
064163902/02/13 17:40ID:TSfdBnbM
ありがとうございます。
やっぱそういった機能はないんですか。

>CGIスクリプト自身で実装は可能。

たとえばどういった方法ですか?
重ねて質問でスミマセン・・・。
0642名無しさん@お腹いっぱい。02/02/13 17:51ID:???
HTMLファイルをオープンしてプリント。
064363902/02/13 18:01ID:TSfdBnbM
>>642
うーんやっぱそれしかないですかぁ。
いろいろありがとうございました。
勉強になります。
0644伝説の勇者ロリ ◆Ug2000AA 02/02/13 19:04ID:OBfug7d+
17スクリプトで作った掲示板をリスト表示するスクリプトをかいて下さい
0645名無しさん@お腹いっぱい。02/02/13 20:03ID:???
>644
みかえりは?
0646名無しさん@お腹いっぱい。02/02/13 21:03ID:+kVUoqof
http://www.wired.com/news/business/0,1367,42276,00.html
みたいなこんまつきURLは、どういったシステム(?)を
使ってるときのURLなんですか?
0647名無しさん@お腹いっぱい。02/02/13 22:51ID:???
>>646
開発者の趣味じゃないの?
0648名無しさん@お腹いっぱい。02/02/14 13:29ID:uu2YqRDp
>>631
>少ない手間で済まそうと、CGI.pmを多用して鯖に迷惑をかける
この部分、詳しくキボンヌ
0649名無しさん@お腹いっぱい。02/02/14 16:09ID:???
WindowsでCGIチェックするには何使ってますか。
anhttpd使ってたんだけど、だんだん重くなって困る。win98se
ってことでapache入れてみたんだけど、サーバーにPUTするときは1行目は
絶対書き換えなきゃならないの?
0650名無しさん@お腹いっぱい。02/02/14 16:29ID:???
>>648
>>631じゃないが
CGI.pmはメモリを食う(といってもても1MB程度だが)のだ。
それにコンパイルにもかなり時間がかかる。これCGIスクリプトとしては致命的。
自鯖やmod_perlならともかく、共用鯖で使用するのはお勧めできない。
0651名無しさん@お腹いっぱい。02/02/14 16:49ID:VPX5WYBv

    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄
  |∵ |   __|__  | < CGI.pm、素人にはお勧め出来ない。
   \|   \_/ /  \____
     \____/
0652名無しさん@お腹いっぱい。02/02/14 17:51ID:???
CGI.pmの機能のうち、URLデコードしか使わないのなら、おなじみのコードのコピペかcgi-lib.plで十分だよな。
0653名無しさん@お腹いっぱい。02/02/14 18:46ID:???
>>652
得意げな顔して何がコピペかcgi-libだよな、だ。
お前は本当に分かっているのかと問いたい。問い詰めたい。小一時間問い詰めたい。
まぁ普通はCGI::LiteかCGI::Minimalでも使ってなさいってこった。
0654名無しさん@お腹いっぱい。02/02/14 19:33ID:???
>>653
しかし事実だろ。
0655名無しさん@お腹いっぱい。02/02/14 19:50ID:4Wmucv6g
質問質問!
http://pc.2ch.net/test/read.cgi/php/1003132904/928で発言したんだけど、cgiってphpの変数出力ってできるのかな?
ちょっとcgiのこと(仕組みとか)わからないんだけども、cgiはphpの実行権限がないのかな、とか思った。かなり的外れっぽいけど
0656名無しさん@お腹いっぱい。02/02/14 20:22ID:???
URLデコードもファイルのアップロードも、もう汎用のルーチンが
出そろっているにもかかわらず(しかも、俺専用サブルーチン化も終わってる)
CGI.pm使うメリットってあるのでしょうか?
0657名無しさん@お腹いっぱい。02/02/14 20:30ID:???
>>649
httpd.confで
ScriptInterpreterSource registry
というところを探してみな。
せっかくだからapacheスレも読んでおけ。ためになるはず。
0658名無しさん@お腹いっぱい。02/02/14 20:47ID:???
>>656
メリットがあるか否か、と問われれば"ある"だろうよ。
param()を初めとしてquery_string()、header()、self_utl()、cookie操作といったメソッド群は捨てがたい。
ただそれに伴うデメリットが大きすぎるように感じるので俺は自作のを使うが。
0659名無しさん@お腹いっぱい。02/02/14 22:29ID:9A/CUBFF
どなたか教えてください。
あるドメイン上で食べさせたCookeiを全く違うドメイン上で有効にさせることってできるんですか?
0660名無しさん@お腹いっぱい。02/02/14 22:30ID:???
>659
DNSのセキュリティホール使ってなりすましましょう。
0661名無しさん@お腹いっぱい。02/02/14 22:36ID:nozayNsj
>660
そうゆう問題になってしまうんですか...。
要するに別々の違うドメイン同士でシングルサインオンを実現したいんですけど、
何かやりかたありますか?
0662名無しさん@お腹いっぱい。02/02/14 23:59ID:???
あのね、Cookieがそんなことが簡単に許したらさ、サイトに来る
やつのオンラインショッピングやバンキングのIDとパスワードを
getしようとする輩の片棒を担ぐことになりませんか?
0663名無しさん@お腹いっぱい。02/02/15 00:47ID:???
>661

print <<HTML_SOURCE;
<HTML>
<HEAD>
 <TITLE></TITLE>
 <META http-equiv="refresh" content="0;URL=目的のドメイン">
</HEAD>
<BODY>
 <INPUT type="HIDDEN" name="id" value="id">
 <INPUT type="HIDDEN" name="pass" value="pass">
</BODY>
</HTML>
HTML_SOURCE

とりあえず移動はできたけど?
0664名無しさん@お腹いっぱい。02/02/15 01:19ID:DAKSQb3X
両方ともSSL内で、最初のドメインでログインした情報、でなくてもいいんですけど、
「どっからのリンクか」とかIDとかをCookeiにのこして、
移りたいドメインの方でそのCookeiを認識して、
そのままログインできないかってことなんですけど、
やっぱり無理なものですか?
突拍子もないこと言ってたらすみません。
066561202/02/15 01:56ID:nyIDEBdJ
>>638
めちゃめちゃ遅レスですが、gifcat.plの件、ありがとうざいます。
gifcat.plの中身を勉強してみます。
0666名無しさん@お腹いっぱい。02/02/15 02:27ID:???
結局、Cookie と ビスケットの違いは何なんでしょうか?

このままでは のどが乾きすぎて食べることができません。
0667名無しさん@お腹いっぱい。02/02/15 03:38ID:oErzQw9b
CGI.pmのコンパイル時間ってそんなに気になるものか。
そうなると、他のモジュールもつかえねーなぁ。
まあおれも自作のCGI::*作ってるけど。
0668名無しさん@お腹いっぱい。02/02/15 07:10ID:???
>>667
コンパイル時間よりモジュールの能力や使用目的と
メモリの消費量との比較の話だと思うぞ。
デコードしたいだけで使うな、しかも共用鯖で。って話。
かといってすげー高機能なことをしたいし実際
するモジュールなのでメモリくいますって言われてもウザいけどな。
結局は「共用鯖でメモリくうな」って話か。@data=<IN>と一緒で。
0669名無しさん@お腹いっぱい。02/02/15 13:18ID:???
http://www.ace-cgi.jp/
↑のニセビンゴゲームEXと言うのをDLして、鯖にUPもしたんですけど、
説明が不十分すぎて全然わかりません。
これはどういうタグを打ったら、HPに表示されるんですか?
そして、説明にはビンゴの一日に発表する数字が変えられるとか書いてあるけど、
CGI初心者なのでどこを書き換えればいいのか全然わかりません。
質問メール禁止ってかいてあるけど、あんな説明じゃ全然わからないので、
メール送ったらやっぱり無視されてるし・・・。
もう2chでしか解決する手段がないんです。
どうかよろしくお願いします。
0670名無しさん@お腹いっぱい。02/02/15 16:35ID:blqT6YTo
sendmail等が使用出来ないサーバではご利用頂けません。
ってかいてあるよ
0671名無しさん@お腹いっぱい。02/02/15 16:52ID:???
>>669
アンタが何をしたいのか、説明が不十分すぎて全然分からない。
> これはどういうタグを打ったら、HPに表示されるんですか?
どういう意味?
0672名無しさん@お腹いっぱい。02/02/15 16:56ID:???
>>669のサイトより引用

> このようなホームページを運営していると、色々な方からメールを頂きます。
> 励ましのお言葉やお礼を言ってくださる方。本当に嬉しく思います。
> このようなメールを頂ける為、私の場合は結構恵まれていると思います。
> しかし、本当に「常識あるの?」という人も非常に多いのです。
> まったく知らない人にメールを送る場合、普通は「送っていいものか」考えませんか?
> たとえば、「○○についてのメールはお断りします」「メールを頂いても返信致しません」等、注意書きがないかをよく捜してからメールするのが普通ではないでしょうか。
> 私のHPには、あちこちに「サポート目的のメールはお断りします」と書いているのにも関わらず、沢山のサポートメールが届きます。
> 性格的に、来たメールに対して無視する事が出来ずにそれなりの返答をしておりました。が、きりが無いので今では返事を出す事を辞めました。
> 文面が丁寧であればまだ我慢も出来ますが、礼儀も何もあったものではないメールも多いです。
> 「うまく行かないんですけど〜どうすればいいの?」「パーミッションってなに?」
> 突然知らない人にこんな口調でものを言っていいもんなのか、、、、

>>669
これでもメールを送るとは、お前相当な厨だな。
0673名無しさん@お腹いっぱい。02/02/15 18:11ID:???
>>657
ありがとうございます。勉強します。
0674名無しさん@お腹いっぱい。02/02/15 18:12ID:u5RDXGaq
HTML::Template に変わる軽くてイケてる Template モジュールないかな。
いままで、平気で HTML::Template 使ってたが、なんだか馬鹿でかいモジュール
は迷惑らしいんで。
0675名無しさん@お腹いっぱい。02/02/16 00:26ID:???
>>674 自分で作っちゃえば?
0676osiete02/02/16 05:46ID:/tWP7Box
biglobeでapebord+を使おうとしているんですけど、
うまく行かないので教えて下さいませ。

とりあえずapeのオンラインマニュアルに従って設定して、
鯖にあげ、パーミッションもそこに書いてあるとおりに変更しました。

それからapebord_p.cgiにアクセスすると
Forbidden 
Your client is not allowed to access the requested object.
と出てしまいます。

cgi自体の設定は何度も見直したので間違いはないと思います。
サーバメッセージからやはりパーミッションに問題があるのでしょうか?
鯖によって別のパーミッションを設定した方がいいのでしょうか?
また実際にbiglobeにapebordを設置している方がいらっしゃったら
アドバイスを下さい。
0677  02/02/16 05:48ID:A2kD2wAS
Your client is not allowed to access the requested object.
って、エラーが出てるでしょ。
許されてないわけよ。ようするに。
0678osiete02/02/16 05:52ID:/tWP7Box
>>766
つまりはビッグローブではエイプは使えないと言う事ですね。
アリガトウございました。
諦めがつきました。
0679名無しさん@お腹いっぱい。02/02/16 07:58ID:???
>>678
ディレクトリのパーミッションは大丈夫?
http://kingdom.biglobe.ne.jp/help/secstabl.html
0680Name_Not_Found 02/02/16 08:32ID:???
>>665
とほほのサイトにはこう書いてある。
> ・Netscape 6.* では、一番最初の桁がうまく表示できないことがあり
> ます。→ 一番最初の画像の大きさが全体と異なる場合に表示がおか
> しくなるという、ブラウザ側のバグが原因だと推測しています。
0681osiete02/02/16 09:36ID:m2PS92h6
>>679
あれ?ディレクトリにパーミッションなんてあったんですね。
ありがとうございます。試してみます。
後ほど報告します。

ちなみに679さんはビッグローブでapebord使ってるんですか?
0682osiete02/02/16 10:12ID:???
調べたところディレクトリのパーミッションはOKでした。
しかし、ダメでした。

なんか、掲示板本体のcgiを755、
jcode.plを705に設定しなければならないんですけど、
片方を755にすると、もう一方も755になってしまうという現象がおきます。
逆に705にしても同じです。
なんなんでしょうか。
とりあえずもう少しイジッてみてダメなら諦めます。
677さんと679さんありがとうございました。

0683名無しさん@お腹いっぱい。02/02/16 20:13ID:YD7vP/c3
C++でCGIを組みたいのですが、
それに関する良い参考書って無いですか?
0684名無しさん@お腹いっぱい。02/02/16 20:42ID:???
>>683
必要ない。

環境変数の取得の仕方。
標準入力からのデータ取得。
標準出力へのデータ出力

ができればいい。

Perl用の参考書を軽く読めばできると思われ。
CGIの参考書と言っても中身はほとんど言語の使い方。
0685名無しさん@お腹いっぱい。02/02/16 22:10ID:fa/OrNt0
2ちゃんねるのような
フロート型掲示板を設置したいのですが
軽い物有りませんでしょうか?
megabbsはiswebでは無理でした。
0686名無しさん@お腹いっぱい。02/02/16 22:11ID:???
>>685
規約に2ch型掲示板の禁止と無いか?
軽い重いは問題ではない。
068768502/02/16 22:21ID:fa/OrNt0
そうか!
規約読んでなかった!
megabbsはレス出来ても
スレ立てられなかった
0688買物カゴ02/02/16 22:27ID:???
インターネットショップのための
CGI&JavaScript(アングラーズネット)
という本にのっている
買物カゴのプログラムを見ているのですが、
最初のところがさっぱりわかりません。
クッキーを取得して1行ずつに名前をつけているようなのですが、
そのあとcount1 から count7 まで
数字をつけています。
これが、何を意味しているのか知りたいのですが・・・
0689名無しさん@お腹いっぱい。02/02/16 22:42ID:???
>>688
ソースも見せずにまぁ・・・。
0690名無しさん@お腹いっぱい。02/02/17 01:00ID:???
>688
その本ボクに買ってくれたら教えてあげるYO!
0691名無しさん@お腹いっぱい。02/02/17 02:24ID:???
>>688
まあ待て、お前の態度次第では教えてやらんでもないぞ。
WinMXでオレ様にエロゲーを3、4本落とさせろ。そうすれば
教えてやってもよいぞ。
0692買物カゴ02/02/17 14:40ID:???
エロゲーありませんが・・・

$count1= 0;
$count2= 0;
while ($count1 <= 50 ){
$xx= @kazu[$count1];
&trans;
@kazu[$count1] = $xx;
if (@kazu[$count1] ne "") {
$H = 1*@kazu[$count1];
if ($H >= 1) {
$count2++;
$datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou[$count1]*@kakaku[$count1]";
$datareg2{$count2}="@kazu[$count1]";
}
}
$count1++;
}

foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
($key,$value) = split(/=/);
$count1= 1;
while ($count1 <= 20){
$shouhin = "shouhin$count1";
if ($key eq $shouhin) {
$shouhin{$count1}= $value;
@data = split(/::/, $shouhin{$count1});
$data1{$count1} = @data[0];
$data2{$count1} = @data[1];
}
$count1++;
}
}
0693買物カゴ02/02/17 14:47ID:???
スミマセン。行がそろってしまいました。再度

$count1= 0;
$count2= 0;
while ($count1 <= 50 ){
$xx= @kazu[$count1];
&trans;
@kazu[$count1] = $xx;
if (@kazu[$count1] ne "") {
$H = 1*@kazu[$count1];
if ($H >= 1) {
$count2++;
$datareg1{$count2}="@shouhinnumber[$count1]*@shouhinmei[$count1]*@bikou[$count1]*@kakaku[$count1]";
$datareg2{$count2}="@kazu[$count1]";
}
}
$count1++;
}

foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
($key,$value) = split(/=/);
$count1= 1;
while ($count1 <= 20){
$shouhin = "shouhin$count1";
if ($key eq $shouhin) {
$shouhin{$count1}= $value;
@data = split(/::/, $shouhin{$count1});
$data1{$count1} = @data[0];
$data2{$count1} = @data[1];
}
$count1++;
}
}
0694買物カゴ02/02/17 14:48ID:???
厨でスミマセン。
行頭を下げて、投稿する方法がわかりません。
あきらめました。とほほ。
ご迷惑をおかけしました。
0695名無しさん@お腹いっぱい。02/02/17 15:07ID:???
著作権的に問題ないのか?
市販の書籍のコード晒すの。
0696名無しさん@お腹いっぱい。02/02/17 18:57ID:???
配列要素の参照に@…?まさかッ!Perl6のコードかッ!
0697名無しさん@お腹いっぱい。02/02/18 18:17ID:???
>>696
偶にいるんだよね、こーいうことしちゃう奴。
んでもスライス扱いになるから、意図した動きになるみたいよ。
だから、こーいう書き方したいなら、

($scalar) = @list[1];

とかって書いた方が気持ちよいけど。
0698名無しさん@お腹いっぱい。02/02/19 04:59ID:???
>>692
そのソースだと,これくらいしかわからなかった。
@kazuを処理して, %datareg1と %datareg2に結果を入れてる。
そのあとクッキーを読んで,%data1と %data2に結果を入れてる。
0699名無しさん@お腹いっぱい。02/02/19 11:49ID:h6Vj/zlt
改行を含んだ変数($tegami)があるんですが、
この変数を1行毎に処理したいのですがどうしたらいいのでしょうか?
while とか foeach とかでやろうと思っているのですが分かりません
0700名無しさん@お腹いっぱい。02/02/19 11:51ID:???
>>699
while($data ne "")
{
$data =~ s/(.*?)\n//;
push(@data,$1);
}
0701名無しさん@お腹いっぱい。02/02/19 11:52ID:???
>>700
ごめん。

$data -> $tegamiで。
0702名無しさん@お腹いっぱい。02/02/19 12:21ID:???
>>700-701
速レスありがとうございました!
無限ループさせてしまっていました、、、
助かりました
0703名無しさん@お腹いっぱい。02/02/19 12:34ID:???
>>700
役に立ったかな?

$data =~ s/^(.*?)\n//;

の方がより良いかも。
0704名無しさん@お腹いっぱい。02/02/19 12:58ID:Ls+q3KGP
foreach ($tegami =~ /([^\n]*?\n)/g) {
  chomp;
$_ ...
}
とか
0705名無しさん@お腹いっぱい。02/02/19 14:59ID:dKbpdQEs
A子さん   はじめまして
B子さん   どうも
A子さん   どうも

こんな感じでログファイルに保存してあったとして
B子さんの発言のみをログファイルから読み込んで
表示するにはどのように記載すればよいのでしょうか?
0706Perl勉強中02/02/19 15:13ID:???
open(OUT,"$logfile");
while(<OUT>){
@log=split/\t/;
if ($log[0]=B子さん){
print @log;
last;
}
}

かな?

0707名無しさん@お腹いっぱい。02/02/19 15:16ID:???
>706
それだと、if文のところで、$log[0]がすべてB子さんに書き変わる。
0708名無しさん@お腹いっぱい。02/02/19 15:18ID:???
>706
そして、それだと、B子さんが一回でてくるとそこで終了してしまう。
0709名無しさん@お腹いっぱい。02/02/19 15:19ID:???
>706
さらに、openしたOUTはいつクローズしてもらえるかとうずうずしている。
0710Perl勉強中02/02/19 15:21ID:???
あれ?そうですか?
じゃぁ
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0]=B子さん){
print @hoge;
exit
}
}
でどうですか?
0711Perl勉強中02/02/19 15:22ID:???
B子さんが一つ以上あるなら
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0]=B子さん){
print "@hoge\n";
}
}

0712名無しさん@お腹いっぱい。02/02/19 15:24ID:???
>710
だから、そのif文だと
もし($hoge[0]にB子さんを代入できたら){@hogeを出力して実行終了}
だろ?
@hoge[0]にB子さんを代入することを阻害する要因が何一つこれっぽっちもない以上
一行目の配列で終了だよ。
0713名無しさん@お腹いっぱい。02/02/19 15:25ID:???
>711
いつ気付くんだろ・・・・
0714Perl勉強中02/02/19 15:26ID:???
B子さんが一つ以上あるなら
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq B子さん){
print "@hoge\n";
}
}

こうか?
0715名無しさん@お腹いっぱい。02/02/19 15:26ID:???
>714
そうだ
0716名無しさん@お腹いっぱい。02/02/19 15:27ID:???
「closeしろ」の意味を取り違えてる、とか
B子さんをクォートしなくても良いンか、とか。
0717Perl勉強中02/02/19 15:28ID:???
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] == "B子さん"){
print "@hoge\n";
}
}
これでも良し?
0718名無しさん@お腹いっぱい。02/02/19 15:32ID:???
んで、俺ならこうする。

open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file) {
@hoge = split(/\t/,$_);
if ($hoge[0] =~ /B子さん/) { print $_; }
}
0719名無しさん@お腹いっぱい。02/02/19 15:33ID:???
>>717
文字にはeqじゃないの? ==でどうなるかわからんけど。
foreach内単に

print if (/^B子さん/);

ではダメなのだろうか?

OUTって名前が気持ち悪いのは俺だけ?
0720名無しさん@お腹いっぱい。02/02/19 15:33ID:???
>717
それだとどうかしらん。
0721名無しさん@お腹いっぱい。02/02/19 15:35ID:???
>719 
ぜんぜんおっけーっしょ?
0722名無しさん@お腹いっぱい。02/02/19 15:43ID:???
そういやなんでOUTなんだ?普通INとかそれ系だろ。
0723名無しさん@お腹いっぱい。02/02/19 15:44ID:???
open IN, "<$logfile" or die;
while(<IN>){
print if /^B子さん\t/;
}
close IN;
072470502/02/19 15:51ID:???
>>706-723
こんない沢山のレスありがとうございました。
参考にさせて頂きます。
072570502/02/19 15:51ID:???
こんない×
こんなに○
すいません間違えました。
072670502/02/19 16:01ID:???
度々すみません。
追加の質問で
B子さんの名前の場所と
コメントの場所を調整するにはどうすればいいのでしょうか?

B子
どうも

こんな感じです。
0727Perl勉強中02/02/19 16:23ID:???
懲りずに挑戦
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq "B子さん"){
print "$hoge[0]<br>$hoge[1]<br>";
}
}
又は
open(OUT,"$logfile");
@file=<OUT>;
close (OUT);
foreach(@file){
@hoge=split/\t/;
if ($hoge[0] eq "B子さん"){
@hoge=~s/\t/<br>/g;
print "@hoge<br>";
}
}

でどうでしょ?
0728名無しさん@お腹いっぱい。02/02/19 16:45ID:???
>>727
脳内で完結しないで試してから書き込むように。
#!perl
open IN, "<$logfile" or die;
while(<IN>){
if(/^B子さん\t/){
s/\t/<br>\n/;
print;
}
}
close IN;
0729名無しさん@お腹いっぱい。02/02/19 17:05ID:???
>>728
s/^(B子さん)\t/\1<br>\n/;
■ このスレッドは過去ログ倉庫に格納されています