スクリプト改造工房 Part4

このエントリーをはてなブックマークに追加
952nobodyさん:02/07/25 22:26 ID:???
ぼくよくわかんないけど

# 入力内容を整理
$in{'word'} =~ s/ / /ig;

とかきいたことがあるよママ
953nobodyさん:02/07/25 22:32 ID:bgz0ge4n
>>952
所詮、ガキはそのレベルだ。
    
   な    ぜ    あ     げ    る?
955nobodyさん:02/07/26 01:49 ID:0BDmH9hb
age
956nobodyさん:02/07/26 10:37 ID:???
>>952
全角空白文字に大小文字の区別は(以下略)
957nobodyさん:02/07/26 19:45 ID:kVw69kF2
>>948
#大文字小文字区別無し

if (index($_,$pair) >= 0) {

if($pair =~ /$_/i){

半角全角区別無しは一旦 &jcode'h2z_sjis(*value)とかで両文字列を
統一してから照合すりゃ良いんじゃないかな。重そうだけど。
958948:02/07/26 23:30 ID:???
>>957
ありがとうございます。
それは上の文を下の文に書き換えればよいのでしょうか。
書き換えてみたのですが上手く動かないのです…
(何も検出されなくなってしまいました)
とにかく辞書や勉強スレなども見て、自分でもいろいろやってみます。
大きく前進できたと思います。
ありがとうございました。
959957:02/07/27 00:03 ID:pvFK+xGB
>>958
ああごめん、逆だ。
if($pair =~ /$_/i){
じゃなくて
if($_ =~ /$pair/i){
だ。つーかそんなら
if(/$pair/i){
か。
960nobodyさん:02/07/27 01:52 ID:???
>>959
所詮、ガキはそのレベルだ。
961nobodyさん:02/07/27 02:35 ID:???
>>960
Ruby!
962nobodyさん:02/07/27 09:01 ID:???
掲示板にカキコがあった際、内容をメール通知してくれるような
プログラムが欲しいわけだが。
963948:02/07/27 19:01 ID:???
>>959=957
上手くいきました!ありがとうございます!
964nobodyさん:02/07/27 23:40 ID:DH9H4W07
http://pc.2ch.net/test/read.cgi/php/1021897804/599-605
あちらではスレ違いになりますので・・・
ヒントを頂けないでしょうか?
965nobodyさん:02/07/27 23:46 ID:6EI34UHG
CGIだけど、なんか質問ある?Part 6から誘導されて来ました。
宜しくお願いします。

自サイトでffwatchというcigの解析を使っているのですが、丸見え状態
なのでこのcgiにパスワードをつけたいと思っています。
どうすればいいでしょうか?

本体cgi
http://www.geocities.co.jp/AnimalPark-Pochi/9232/ffwatch.txt
ログcgi
http://www.geocities.co.jp/AnimalPark-Pochi/9232/fflog.txt
966nobodyさん:02/07/28 01:16 ID:???
>965
ログファイル名を変えられるなら、
例えば"ffwatch.cgi"、"fflog.cgi"にするのが吉。
これなら.htaccess触らないで済む。
967nobodyさん:02/07/28 04:02 ID:W8D+zAzJ
お絵かきBBSとして、「お絵かきしぃ掲示板 PaintBBS」を設置してみたのですが、
ttp://www.gt.sakura.ne.jp/~ocosama/garakuta/soft/paintbbs/pbbs.html
どうも文字サイズが小さくならないんです。
http://maebari.net/oekei/bbsnote.cgi
この程度まで全ての文字を小さくしたいのですが、
どうすればできるんでしょうか?
CGIの設定ページには文字サイズの設定がないし、試しに「oekaki.cgi」の中の
FONT SIZEをすべて1にしてみましたが、全く変化がありませんでした。

どなたか教えてください。お願いします。
968nobodyさん:02/07/28 04:19 ID:???
CSS で font-size を指定するとか。。
969nobodyさん:02/07/28 04:24 ID:???
>>968
なんかやってたらできました(w
すんまそん。ありがとうございました。
970nobodyさん:02/07/28 04:32 ID:???
>>967
font sizeいじっても変わらないなら
すでにCSSで固定されてんじゃないの?
見てないから知らんが。
つーかtxtでUPされてないもんは見る気もせんが。

Web製作板から来たって話だけど向こうで合ってるよ。
プログラムの部分じゃない以上、ここは板違い。
971nobodyさん:02/07/28 10:12 ID:???
>>965
@enc = ('euc', 'sjis'); # 日本語コード
# --------------------------------------
# パスワード認証
$pass = '';#好きなパスワードを入れる

if ($pass ne "") {
&decode;
if ($in{'pass'} ne "" && $pass ne "$in{'pass'}") {
&error("パスワードが違います");
}
elsif ($in{'pass'} eq "") {
&header;
print "<center><h4>パスワードを入力して下さい</h4>\n";
print "<form action=\"$script\" method=\"POST\">\n";
print "<input type=password name=pass size=6>";
print "<input type=submit value=' 認証 '></form>\n";
print "</center>\n</body></html>\n";
exit;
}
}

# ======================================
# 手続き
# --------------------------------------
こんな感じに付け加える。
ログを書き込むファイルの拡張子もcgiにするといいかも
972965:02/07/28 14:52 ID:J7Vy5sYd
>966
ありがとうございます。ソース見るとファイル名で判ってしまうので…。


>971
ありがとうございます。お手数おかけしてすみません。。
リプトを追加したところffwatchの方に500エラーがでました。
エラーチェックスクリプトでチェックしたところ以下の部分が
エラーと表示されました。

syntax error at (eval 1) line 37, near "?
if ($in{'pass'} ne "" && $pass ne "$in{'pass'}") {
&error("パスワードが違います");
}
elsif ($in{'pass'} eq "") {
?
print"
Unmatched right bracket at (eval 1) line 44, at end of line
syntax error at (eval 1) line 44, near "}
}"

どうしたらいいでしょうか…?
宜しくお願いします。
973971:02/07/28 20:15 ID:Di7q+S2L
今、スクリプトをダウソして試してみたけどそれで動いたよ
よけいなトコを消したんじゃないの?
@enc = ('euc', 'sjis'); # 日本語コード
# --------------------------------------
から
# ======================================
# 手続き
の間をコピペすればいいんだけど、
もう1回確かめてみ
974971:02/07/28 20:20 ID:???
975nobodyさん:02/07/28 21:21 ID:???
みなさんよろしくお願いします。

メールの一斉配信CGIなのですが、送信元(ここでは[email protected]です)から
登録されたユーザー(例:[email protected])に配信したときにヘッダーを見ると

Return-Path: <[email protected]>
Delivered-To: [email protected]

となっていて、送信エラー(宛名不明)のメールが自分のもとに戻ってきません
これを自分のところに戻るように改良していただけないでしょうか?
UP先は以下です。
http://isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/036.zip
配信先リストがusr.datです。


なお、オリジナルは下記のものですが、今は閉鎖(移転?)されていて、
サポートを受けれないのでこちらでお願いしいています。
SQUZA MAIL MAGAZINE Ver1.2 http://www.squza.com/
976965:02/07/28 22:17 ID:???
>971
度々すみません。
うーん…貼り付けて貰ったものをコピペして使ったのですが、
何がいけなかったのか…。見比べてみてもどうも判りません…。
アップして頂いたものを使わせて貰ったところ、正常に稼動しました。

どこがいけなかったのか、もう一度ちゃんと見直してみます。
本当にどうもありがとうとざいました!
977nobodyさん:02/07/28 22:40 ID:???
文字コードが違ったのでコピペしたら・・・

って可能性は?
978965:02/07/28 22:47 ID:???
文字コード…かちゅを使ってるので、何も気にせずにそのまま
コピペして…TeraPadで保存時にEUCにしてたんですが…。
そうか…文字コードの可能性もあるんですね…。

するとコピした部分だけ別のテキストに保存。
その後文字コードを確認すればよかったんですね…。
そうか〜。
979nobodyさん?:02/07/28 22:58 ID:???
>>975
Errors-Toヘッダがないし。
980nobodyさん:02/07/29 10:00 ID:???
>>975
古いsendmail の引数ですね。これで動いてるんですか。
$sendmail -t -oi -i -f $mailto

$sendmail -t -f $from
にしとけ。
981975:02/07/29 19:42 ID:???
>980 さん 遅くなりました。
さっそく試してみます。
982nobodyさん:02/07/30 09:43 ID:???
>>975
Mail::Mailerモジュールはどうですか。
http://search.cpan.org/doc/MARKOV/MailTools-1.47/Mail/Mailer.pm
sendmailのパスとか面倒なことはすべて書かなくていいです。
とりあえずサブルーチンのlocalをmyにするとわずかですか高速化します。
983nobodyさん:02/07/30 13:53 ID:???
記念パピコV(^o^)V
984nobodyさん:02/07/31 21:11 ID:???
すいません皆さん、まだ改造素人です。よろしくお願いします。

openしたデータファイル

10<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
9<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
8<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>
7<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>



1<>タイトル<>カデコリ<>本文<>2002/08/01 (Thu)<>100000<>hoge<>

の上の三行だけを取得したいのです。
どのようにしたらいいのでしょうか?よろしくお願いします。
985 ◆adminSE. :02/07/31 22:10 ID:???
#ログファイルを読み込み専用モードでオープン
open(DATA,"$logfile") || exit;

# @dataに格納し、ファイルを閉じる
@data = <DATA>; close(DATA);

すると$data[0]には1行目が、$data[1]には2行目が、$data[2]には3行目が格納されています
986nobodyさん:02/08/01 04:16 ID:3u+0D44D
KENTさんのASKA BBSに2chみたいなレスにリンクをはりたいんですが
「>>数字」←これ
http://www.kent-web.com/bbs/aska.html

お願いします
987nobodyさん:02/08/01 13:19 ID:???
>>986
$com =~ s/(>>([\d+]))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
ref_resのサブルーチンは自分で作ってね。
988987:02/08/01 13:20 ID:???
$com =~ s/(&gt;&gt;([\d+]))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
989987:02/08/01 13:30 ID:???
$com =~ s/(&gt;&gt;([\d]+))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
( ゚д゚)鬱
990nobodyさん:02/08/01 13:57 ID:???
elsif ($mode eq 'ref_res') { &ref_res; }

sub ref_res {
&header;
open(IN,"$logfile") || &error("Open Error : $logfile");
while (<IN>) {
($no,$date,$name,$mail,$sub,$com,$url) = split(/<>/);
if ($in{'no'} eq $no) {
if ($mail) { $name = "<a href=\"mailto:$mail\">$name</a>"; }
if ($autolink) { &auto_link($com); }
if ($refcolor) { $com =~ s/([\>]|^)(>[^<]*)/$1<font color=\"$refcolor\">$2<\/font>/g; }
$com =~ s/(&gt;&gt;([\d]+))/<a href=\"$script?mode=ref_res&no=$2\" target=\"_blank\">$1<\/a>/g ;
print "<DL><DT><hr>[<b><a name=\"$no\">$no</a></b>] <font color=\"$sub_color\"><b>$sub</b></font> ",
"投稿者:<b>$name</b> 投稿日:$date ",
"<br><br><DD>$com";
print "<P><a href=\"http://$url\" target=\"_blank\">http://$url</a>" if ($url);
print "<br></DL>\n";
last;
}
}
close(IN);
print "</body></html>";
exit;
}
991nobodyさん:02/08/01 14:51 ID:ZXIYAq1T
>>985 読むだけで全部配列に入れるな

>>984 以下の全部、又は欲しいとこだけ考えて組み込みな

####
$start_no = 0;#何行目から取得するか
$last_no = 3;#$start_noから数えて何行目まで取得するか
####上二つは外部からの入力?####

####作業準備
$t_datcount = 0;#作業用カウンタ(トータル数
$datcount = 0;#作業用カウンタ(配列に加えた数
####作業開始
open(DATA,"$logfile");#データ開く
  while(<DATA>){#一行づつ処理
    $t_datcount++;#行数をカウント
    next if($t_datcount < $start_no);#指定した行数までスルー
    if($datcount < $last_no){#指定した行数まで取得
      push(@log,"$_");#現在の行を配列に加える
      $datcount++;#加えた数をカウント
    }
    last;#加え終わったら即抜け。全ログ行数も知りたきゃこれは外す
  }#次の行へ
close(DATA);データ閉じる

#取得した行は@logの中
992991:02/08/01 14:56 ID:???
訂正
× last;
○ }else{last;}
993nobodyさん:02/08/01 18:21 ID:???
994nobodyさん:02/08/04 15:58 ID:???
記念パピコV(^o^)V
995nobodyさん:02/08/04 16:38 ID:???
記念パピコV(^o^)V
996nobodyさん:02/08/04 20:49 ID:exw5uZtl
a
997nobodyさん:02/08/04 20:49 ID:???
i
998 :02/08/04 20:50 ID:???
u
999 :02/08/04 20:50 ID:???
e

1000 :02/08/04 20:50 ID:???
うんこ1000個
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。