CGI Perl総合 (461レス)
上下前次1-新
1(17): 名無しさん 2001/03/16(金)00:12 AAS
ぁ事件の後落ちぶれきった
コノ板の栄華を取り戻すべく
少し賢げな話しようぜ (オプ
2(3): 名無しさん [sage ] 2001/03/16(金)00:42 AAS
#どこがイタイのでしょうか?
open(OUT,"|$mailer $address") || die "送信できませんでした\n";
$cgi = new CGI;
:
die if($cgi->param("realname") eq "");
$Etitle = $form{'titlename'};
$Ename = $form{'realname'};
$emale = $form{'mailaddr'};
$comment = $form{'comm'};
print OUT "Mail From Web\n";
print OUT "$Etitle\n";
print OUT "氏 名:$Ename\n";
print OUT "E-Mail:$emale\n";
print OUT "コメント:$comment\n";
print OUT "IPアドレス:$ENV{'REMOTE_ADDR'}\n";
close(OUT);
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>index.htm</TITLE></HEAD>\n";
print "<BODY>\n";
print "<CENTER>\n";
print "<H3>メールは送られました。</H3>\n";
print "</CENTER>\n";
print "</BODY></HTML>\n";
3(2): none [sage ] 2001/03/16(金)00:44 AAS
あってますか?#!/usr/local/bin/perl
$cnt_file = 'cnt.dat';
open(fp,"$cnt_file");
$cnt = <fp>;
close(fp);
++$cnt;
$len = length $cnt;
if ($len < $n) {
$imgfile = "0";
} else {
$imgfile = substr($cnt, $len-$n, 1);
}
open(IN,"img/$imgfile.gif");
@lines = <IN>;
close(IN);
print "Content-type: image/gif\n\n";
print @lines;
if ($n == 1) {
open(fp,">$cnt_file.tmp");
print fp $cnt;
close(fp);
rename("$cnt_file.tmp", $cnt_file);
}
sub frmdec
{
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$buffer);
foreach $pair (@pairs)
{
local($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
省4
4(2): obj [sage ] 2001/03/16(金)00:46 AAS
データファイルを読み込んで@LINESという配列に入れたとします。
配列の中身は
'23<>a<>0','26<>b<>5','14<>c<>3','30<>d<>9'
だったとして、$xxという変数にa〜dのいずれかの文字が入ります。
例えば$xxにcが入ったらcという要素を含む3要素目の'14<>c<>3'
の3を1増減、4にして
'23<>a<>0','26<>b<>5','14<>c<>4','30<>d<>9'
になった配列をデータファイルに上書き保存したいのですが
どのように組めばよいのでしょうか?
open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
@LINES = <IN>;
close (IN);
$i = "0";
foreach (@LINES){
($t1,$t2,$t3)=split(/<>/,$_);
if ($xx =~ /\Q$t2/) { last; }
$i++;
}
$t3++;
$all = $t1;
$all .= '<>';
$all .= $t2;
$all .= '<>';
$all .= $t3;
$all .= '\n';
$LINES[$i] = $all;
open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
print OUT (@LINES);
close (OUT);
こんな感じで組んだんですが、全然ダメで。。。
どなたか教えてください。
5(1): 名無しさん 2001/03/16(金)01:08 AAS
>>4
何がしたいのかさっぱりわからん。
これで良いのか?
open (IN,"hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
@LINES = <IN>;
close (IN);
$xx = "c";
foreach (@LINES) {
&nbsp; my ($t1, $t2, $t3) = split /<>/;
&nbsp; next unless $t2 eq $xx;
&nbsp; $t3++; $_ = join ("<>",$t1,$t2,$t3);
&nbsp; last;
}
open (OUT,">$hoge.txt") || &error('オープンエラー','指定された書込みファイルが開けません。');
print OUT (@LINES);
close (OUT);
6: 名無しさん [sage ] 2001/03/16(金)01:10 AAS
あ、いかんいかん。
foreachにはいるまえに chomp(@LINES)
出力は print OUT join("\n", @LINES);
7: 名無しさん [sage ] 2001/03/16(金)01:15 AAS
>>2
全部。0点。
・sendmail 使うなら -tとか使え。
・ヒアドキュメント使え。
・CGIモジュール使うなら、あえて%formにセットすることないだろ
・Content-type自分でださなくていいだろ。 CGIモジュールつかうなら。
・未定義値が欲しいなら eq undefするだろ、ふつー。
でdieしたらサーバーエラーになるだろ、自前ルーチンで表示させたれ。
8(1): 名無しさん [sage ] 2001/03/16(金)04:07 AAS
>>2
(1)ロックしないの?
(2)$nって何?
runmode用の変数?
(3)ファイルハンドルは大文字に統一すれ
謎の $nをつかった、$cnf_file.tmpをつかって
ロックというか、トランザクションをとってる
つもりなんだったら、たぶん、完全に間違い。
($nの設定時に排他処理してたらすまん)
というわけで、たぶん、あってません。
9(3): ふさふさ 2001/03/16(金)09:29 AAS
>1さん
httpで串刺してきたハゲに
ftpのリクエストを送信する
例の別プロトコル抜きのソースきぼーん!
10(2): 教えて 2001/03/16(金)17:22 AAS
昼間はいねえのか!ゴラァァァ!
上下前次1-新書関写板覧索設栞歴
あと 451 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s