ぁ事件の後落ちぶれきった
コノ板の栄華を取り戻すべく
少し賢げな話しようぜ (オプ
CGI Perl総合
1名無しさん
NGNGNGNG
#どこがイタイのでしょうか?
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";
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";
3none
NGNGあってますか?#!/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/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$form{$name} = $value;
}
}
$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/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$form{$name} = $value;
}
}
4obj
NGNGデータファイルを読み込んで@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);
こんな感じで組んだんですが、全然ダメで。。。
どなたか教えてください。
配列の中身は
'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名無しさん
NGNG>>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);
何がしたいのかさっぱりわからん。
これで良いのか?
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);
NGNG
あ、いかんいかん。
foreachにはいるまえに chomp(@LINES)
出力は print OUT join("\n", @LINES);
foreachにはいるまえに chomp(@LINES)
出力は print OUT join("\n", @LINES);
NGNG
>>2
全部。0点。
・sendmail 使うなら -tとか使え。
・ヒアドキュメント使え。
・CGIモジュール使うなら、あえて%formにセットすることないだろ
・Content-type自分でださなくていいだろ。 CGIモジュールつかうなら。
・未定義値が欲しいなら eq undefするだろ、ふつー。
でdieしたらサーバーエラーになるだろ、自前ルーチンで表示させたれ。
全部。0点。
・sendmail 使うなら -tとか使え。
・ヒアドキュメント使え。
・CGIモジュール使うなら、あえて%formにセットすることないだろ
・Content-type自分でださなくていいだろ。 CGIモジュールつかうなら。
・未定義値が欲しいなら eq undefするだろ、ふつー。
でdieしたらサーバーエラーになるだろ、自前ルーチンで表示させたれ。
レスを投稿する
ニュース
- 相手の方が飲み食いしたのに「割り勘」→多人数だったら気にしないけど、2人のときは……モヤモヤ [ぐれ★]
- こういうのでいいのよ!なか卯の「朝限定390円メニュー」見た目以上の満足感で、まさに理想の朝ごはんでした! [パンナ・コッタ★]
- 「育休が無給」「子どもは諦めた」非正規公務員、半数近くが年収250万円未満…調査で浮かぶ厳しい現実 [首都圏の虎★]
- 【SNS】トランプ氏「米金利、1%以下に下げよ」 FRB・議長は名指しせず [少考さん★]
- 【速報】 米FRB、3年ぶり利上げ 物価高の長期化を避けるため姿勢を転換 [お断り★]
- 《日本に輸入された中国産「発がん性」食品》冷凍ブロッコリー🥦から検出事例多数の殺菌剤・プロシミドン [パンナ・コッタ★]
- 那覇市議会の自民党派閥が反日に転向「PFAS非公表に対して抗議する」という意見書に賛成してしまう [469534301]
- 海外有名投資家「日本は人口を減らしているから縮小していくだけ。円安は貧乏になるだけ。小学生でもわかる話。」 [819729701]
- 【悲報】水瀬いのりさん、焼き肉をトング食いしてしまうwwwwwwwwwwwwww [398059782]
- 子どもの頃の話。
- 【速報】トランプ大統領、イランとの戦争が「終結に向かっている」 [431136663]
- 【悲報】ワイ地方人、東京に上京した結果wwwwwwwwwwww [257926174]