プログラム質問箱への投稿
記事番号00595へのフォローを投稿します。
引用記事中のHTMLをエスケープせずに
そのまま引用
することも出来ます。
お名前(ペンネイムで結構ですが必要です)
(
ブラウザに個人情報を覚えさせない)
電子メイルアドレス(必要です)
題名(必要です)
Home Page がある方はリンク希望先の URL を記載して下さい
会議室に載せたい内容を以下へお書き下さい (
HTMLを解釈せずにそのまま表示)
1月24日に、三葉工房の管理者さんは書きました。 >メッセージがコンパイルされてしまいましたので再投稿します。 > >TAD様,いしどう様アドバイスどうもありがどうございます。 > > >何故,deleteがうまく行かなかったのか,一昨日,質問メッセージを投稿してから >寝床の上で色々と考えました。そして,昨日は,出かけていましたので,パソコン >を立ち上げなかったので,今日そのあまり期待出来ない,念の為と言うデバック法 >を実行してみました。 > >それは, >sub cutplay{ >print "Content-type: text/html\n\n"; >print <<"ALPS"; ><html><head><title>削除処理完了</title><meta http-equiv="refresh" content="5; url=$NEWURL "></head><body bgcolor=\"#ff0000\"> >ALPS > >open (CAT, "$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@lines = <CAT>; >close (CAT); > >open (CAT, ">$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >foreach $ereize (@lines){ >@catchin=split(/&&/, $ereize); >if("$catchin[0]$catchin[2]$catchin[3]" ne "$in{'target'}") >{print CAT "$ereize";} >} >close (CAT); >print <<"ALPS"; > ><center><font color=\"#00ff00\" size=6><b>削除処理完了</b></font><p> ><font color=\"#ffff00\" size=5><b>彼方のチェック為た記事を削除しました。</b></font><p><font color=\"aqua\" size=4><b>$in{'target'}</b></font><p><a href=\"golygth.cgi\"><font color=\"#ccffff\" size=5><b>掲示板へ戻る</b></font></a></center></body></html> >ALPS >exit;} > > > >と言うサブルーチン内の >open (CAT, "$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@lines = ; >close (CAT); >と言うファイルを開いて読み込む実行文の@linesをforeachでhtmlで出力させて, >$in{'target'}の内容の文字列と@lineの中のその変数と一致する内容の文字列を >MACPERLのテキストにコピーして,それらを比較して見ました。 > >その結果,日付の1999年(平成11年)01月22日 金曜日12時19分47秒が >日と曜日の間の間隔が1間隔,@linesから読み込んだ方が空いていると言う違いがあり, >コンパイルしてみると,それが元で異なる文字列にされてしまう事も確かめられました。 >つまり,$in{'target'}のは,@lineから読み込んだ原版の文字列が先ほどの間隔の >幅は,半角2つと$value =~ s/ / /g;の文字変換にマッチしてしまい,その結果, >$in{'target'}の方の間隔が2間隔から1間隔に変換されて,その結果,デリートするにも >一致文字列が無くなってしまい,失敗した事が分かりました。 >その$value =~ s/ / /g;を~ s/ / /g;とマッチ条件を空白半角3つに改良して,デリート >を実行したら,今度は,チェックを入れた記事がどんどん消されて行きました。 > >よく考えて見ますと,今回の実行不正立はデバックに苦労しても仕方がなかったと思います。 >思い込みだと,その原因はなかなか気付かない事と思います。 > >後,その掲示板は,あくまでもテスト用なので勝手に書き込みしたり勝手に消去してみても >構いません。 > >いしどう様の紹介して下さった「実践入門perl」ですが,実は,私がperlを始める際に,まず >購入した書籍です。後は,駱駝本を持っています。 > >やれば出来ます。 > >又,つまづいた点が見つかりましたら改めて宜しくお願い申し上げます。
ホームペーヂに戻る
nir@mvg.biglobe.ne.jp
Last Update: 2 December 1999