【Perl 】初心者コーナーPart8
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/10/24 14:11ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。
参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://ebi.2ch.net/test/read.cgi/php/988809842/l50
CGIの質問はこちら【CGIだけど、なんか質問ある?part4】
http://ebi.2ch.net/test/read.cgi/php/1000804655/l50
過去ログ、その他の役立ち情報は>>2-10を見よう。
0514472
01/11/30 01:56ID:???473は僕じゃないよ
_gunzip さん有難う御座いました。ベンチまで取って頂いて。。
Pオプション、知りませんでした 汗;
PERL勉強しないとダメだなぁ。。。
手元のGCCですんなり使えましたけど、何か変な感じです ^^;
取り合えずマクロにする事でちょっぴり安心な結果になりました
今perldoc精読中ですー 感謝!
0515つかれた・・
01/11/30 01:58ID:???ども、pwdは以下なんですけどね。
big15:/public/pub/home/s-w-/html/cgi-bin$ pwd
/public/pub/home/s-w-/html/cgi-bin
0516513
01/11/30 02:21ID:???パス合ってるなら後はファイル出来てる事とパミ確認する位かな
後、LIMITGETとか要らない、テストは最小構成で、これ基本
AuthName,AuthType,AuthUserFile,require valid-user
その辺がOKならサポ板とかで聞いてみれば、Perlは全く関係無いから言わなくてよし
0517513
01/11/30 02:27ID:???401だからファイル見つからないか中身がおかしいっぽい(2.3のUAで確認したよ)
これで作れる?(未テスト)
#!/usr/local/bin/perl
print "Content-type: text/html\n\n<html><body>";
if($ENV{'QUERY_STRING'} eq ''){
$0=~s#.*/([^/]+)$#$1#g;
print "<h2>パスワードを入力して下さい。</h2>";
print "<form method=get action=$0><input type=text name=id size=10></form>";
} elsif($ENV{'QUERY_STRING'} =~ s/^id=//){
open(FH,">./.htpasswd")||print "ファイルを作成出来ません!";
my @salt = (a..z,A..Z);
$salt .= $salt[int(rand(52))] for(0..1);
$crypted = crypt($ENV{'QUERY_STRING'},$salt);
print FH "$ENV{'QUERY_STRING'}:$crypted\n";
close FH;
print "$ENV{'QUERY_STRING'}を暗号化しました! -> $crypted";
}
0518名無しさん@お腹いっぱい。
01/11/30 03:12ID:JcBWdq/s0519名無しさん@お腹いっぱい。
01/11/30 03:20ID:???0520名無しさん@お腹いっぱい。
01/11/30 08:31ID:???煽りのはずなんだけど、なんか可愛い。
0521名無しさん@お腹いっぱい。
01/11/30 08:47ID:???スレ違い。
0522名無しさん@お腹いっぱい。
01/11/30 09:09ID:???なるほど、何で高々現在時刻得る為にこんなに小難しくて解りにくいやり方なんだろう(それも決まりきった様に)
と前から疑問に思っていた。しかも使ってるのはまんまasctimeの返り値だし・・・
クッキーなんて、何故かやたら冗長だし、エスケープもしてないし、
たまにやってると思ったらordとか変な関数使ってて、又ややこしいし
よっぽど強力に推奨してる本でも有るのかと。
0523名無しさん@お腹いっぱい。
01/11/30 09:53ID:???エスケープのやりかたなんてしらんけど、知っといたほうがいいのかな(藁
0524名無しさん@お腹いっぱい。
01/11/30 10:20ID:???プロバのHPスペースでCGIが使えるので使っているのですが、これがPerl4だったりします。
Perl5との違いなどでここは気を付けた方がいいというところはありますか?
とりあえず、「$a ||= 1;」とかやるとエラーが出ました。
いろいろと出来ないことが多いみたいで・・・。
もし、Perl4とPerl5の違いを説明したHPなどがあれば紹介していただけるとたすかります。
・・・できれば日本語で。
よろしくお願いします。
0525名無しさん@お腹いっぱい。
01/11/30 11:59ID:???気をつけるのは動かないのよりfor(0..1000)みたいな爆弾構文だ
0526名無しさん@お腹いっぱい。
01/11/30 13:05ID:???0527名無しさん@お腹いっぱい。
01/11/30 17:44ID:???0528524
01/11/30 18:37ID:???検索してみましたけどちょっとよくわかりませんでした。
もう少し勉強してみます。
for(1..1000)はまずいんですか?
繰り返しが多過ぎるのが理由でしょうか?
>526-527
それはさすがに(w;
サーバー会社のでなくプロバイダについてきたスペースなので・・・。
0529名無しさん@お腹いっぱい。
01/11/30 19:07ID:???for(1..1000)は1,2,3,4,...,999,1000っていうリストを
あらかじめメモリ上に確保してからループに入るから。
1000程度なら爆弾でもないけど。
プロバイダにバージョンアップの要請しちゃダメなんてことはない。
受け入れられるか知らないけど。
つーか、乗り換えるのが吉。
0530名無しさん@お腹グー
01/11/30 19:10ID:Edtr0BUz猿より毛が3本多ければ勿論可能。ppm.batの中身を
解析しろ。難しくないぞ。
お前の能力で出来ないなら、3本毛が少ないんだな、
あきらめろ。 コキ過ぎで逝くなよ。
0531524
01/11/30 19:14ID:???地方ローカルのプロバで接続量は安いのでなかなか乗り換えられなくて。
予算ができたらレンタルサーバーを借りようと思っています。
これ以上はスレ違いなのでここまでで。
for(1..1000)はやはりループが多いのが問題なのですね。
さすがに1000ものループはないですが今後も気をつけるようにします。
ありがとうございました。
0532名無しさん@お腹いっぱい。
01/11/30 19:20ID:???だからループの数じゃなくて「リストをあらかじめメモリ上に確保」
が問題なんだってば。
for($i=1; $i<=1000; $i++)なら何の問題もなし。
0533524
01/11/30 19:23ID:???すみません、ちょっとよくわからなくなってしまいました。
for(1 .. 1000)とやると1000の変数の分の領域をメモリ上に確保してしまう
というような意味でしょうか?
だとしたら、$#list = 1000;みたいなのも同様にまずいですよね?
0534名無しさん@お腹いっぱい。
01/11/30 19:43ID:???> というような意味でしょうか?
御意。
> だとしたら、$#list = 1000;みたいなのも同様にまずいですよね?
領域の確保は発生するだろうね。
1000個の値が必要な配列があるのなら使うだろうし、
なければそんなことやる意味がないとおもうけど・・・
0535524
01/11/30 20:20ID:???なるほど。
親切な説明ありがとうございます。
今更ですが$#list=1000;みたいなバカなものを作っていた自分がいました。
早速修正しようと思います。
ありがとうございました。
アクセス成功できました。
ありがとうございます。
0537名無しさん@お腹いっぱい。
01/12/01 04:31ID:kdHffvH4http://pc.2ch.net/test/read.cgi/hp/1005035374/824-
上のスレで}の後の;を省略している人がいるのですが、
これって文法的に正しいのでしょうか。
テストしてみたら実際動いたのですが…。
0538名無しさん@お腹いっぱい。
01/12/01 06:20ID:???問題ありません。Perlにおいては正しい書き方です。
ただ、俺だったらそのスレの824のようなケースでは省きませんね。
俺が省くのは、{ print $_ } のように、{ } が短い一行になる場合です。
これは単純に美的感覚(?)の問題ですけど。
0539名無しさん@お腹いっぱい。
01/12/01 08:34ID:???インデントとか基本的な所は当然としても
俺みたいに色んな言語をちょろ齧りしてる様な奴のperlのソースはとても汚い
記述に一貫性が無いのに、それでも通ってしまうんだよ。
逆に〜〜言語風の書き方を一貫出来る人のコードは読みやすい
だから俺は、例えばCっぽい記述を強制するStrict_cみたいなのが欲しいんだ(w
0540名無しさん@お腹いっぱい。
01/12/01 21:36ID:Bx/rf8oU1度のスクリプト動作で一回しか乱数を使用しない場合は
乱数の初期化ってしなくてもいいんでしょうか。
0541名無しさん@お腹いっぱい。
01/12/01 23:59ID:???0542名無しさん@お腹いっぱい。
01/12/02 00:03ID:???専門書?
0543名無しさん@お腹いっぱい。
01/12/02 00:53ID:???0544名無しさん@お腹いっぱい。
01/12/02 01:01ID:???0545名無しさん@お腹いっぱい。
01/12/02 08:29ID:???0546名無しさん@お腹いっぱい。
01/12/02 08:30ID:???氏ね
0547名無しさん@お腹いっぱい。
01/12/02 08:46ID:???他の巡回スレも煽り荒らしばかりで嫌になった…。
朝くらい気持ちよく巡回させてくれよ…。
0548名無しさん@お腹いっぱい。
01/12/02 17:47ID:6F2mG0wFそんなモジュールを探しているのですが、標準モジュールで
ありますでしょうか?
0549名無しさん@お腹いっぱい。
01/12/02 18:25ID:???0550名無しさん@お腹いっぱい。
01/12/02 18:26ID:???$b = "/home/user/public_html/php/index.html";
print relative_path($a, $b);
sub relative_path {
my @file = @_;
my @dirA = split /\//, $file[0];
my @dirB = split /\//, $file[1];
while (1) {
last if ($dirA[0] ne $dirB[0]);
shift @dirA;
shift @dirB;
}
my $dir = "../" x $#dirA;
return $dir . (join "/", @dirB);
}
0551名無しさん@お腹いっぱい。
01/12/02 22:48ID:SEeFh0J9web上でcgiにアクセスするとダウンロードのダイアログが出てきて
しまいます。これは何がいけないのでしょうか。
0552名無しさん@お腹いっぱい。
01/12/02 22:53ID:???サーバーによるけど、パーミッションが悪いか、スクリプトにエラーがあるか。
そのスクリプトが動くかどうかは、ローカルでチェックしているよね?
0553名無しさん@お腹いっぱい。
01/12/02 23:21ID:???0554名無しさん@お腹いっぱい。
01/12/02 23:38ID:???アマゾン逝ってよしですか?
0555名無しさん@お腹いっぱい。
01/12/03 00:00ID:???一般から見れば、切らさんように随時チェックせないかん程の本じゃないし、
一二週間待っときゃ入荷されるだろ。
0557名無しさん@お腹いっぱい。
01/12/03 09:14ID:???ただ 84日ぐらい待っとけ・・・とはさすがに思わん。
0558名無しさん@お腹いっぱい。
01/12/03 13:42ID:???みたいな配列の要素の数を数える関数てありますでしょうか。
0559縞栗鼠(シマリス)の親方
01/12/03 13:46ID:v6vCrfM9汚物入れを物色して女子生徒の使用済みタンポン・ナプキン等を
個人的に収集しているというのは事実。
中央高等学院 http://chs-f.com/index.html 中央高等学院福岡校
http://www.chuo-school.ac/
0560名無しさん@お腹いっぱい。
01/12/03 13:58ID:???$count = $#hogehoge + 1; # @hogehoge の 要素数
0562名無しさん@お腹いっぱい。
01/12/03 16:01ID:???いるのですが、htmlのフォームにチェック項目が幾つかあって
全部にチェックが入っていないとcgiで変数が空かどうか調べて
$hogeがチェック入っていません。
というふうにしてcgiでメッセージを出しています。
それで当然htmlに戻るんですが、ブラウザで戻ると
前にチェックした項目が全部チェックがはずれてしまっています。
項目がたくさんあるのでこれを回避したいのですが。
仕様でinputにcheckedを入れていないのがいけないのですが。
0563名無しさん@お腹いっぱい。
01/12/03 16:07ID:???こっちだべ。
CGIだけど、なんか質問ある?part4
http://pc.2ch.net/test/read.cgi/php/1000804655/
0564>>562
01/12/03 16:18ID:???HTMLの段階でJavaScriptかなんか使って
フォーム入力のチェックしたら?
# 厳密にCGIの質問じゃないね
0565名無しさん@お腹いっぱい。
01/12/03 17:39ID:???0566初めてのスクリプト
01/12/03 18:15ID:4NX8xqaD$check_word = $ARGV[0];
$check_file = $ARGV[1];
open(IN, "$check_file");
while ($line = <IN>) {
if ($line =~ $check_word) {
if ($line =~ /(\d+\.*\d+)\s*Mbps/ )
{
$ct++ ;
$speed += $1;
}
elsif ($line =~ /(\d+\.*\d+)\s*[kK]bps/ )
{
$ct++ ;
$tyousei = $1 / 1000;
$speed += $tyousei;
}
}
}
$avr = $speed / $ct;
print "$ct 回 \n";
print "$avr Mbps\n";
0567566
01/12/03 18:16ID:4NX8xqaDスピードテストのサイトのデータを perlで処理するスクリプトを作ってみました。何とか動いているので、感激しているのですが、brush upするために諸先輩のご意見をお聞かせください。
測定回数と平均スピードを表示するものです。
測定サイトは、 http://speed.on.arena.ne.jp/ http://www.broadland.jp/ の2カ所。データは、2種類です。
TARGET home.att.ne.jp
DATE Sun Dec 2 06:25:37 UTC+0900 2001
TIME 4.627 sec
YOU 5432 Kbps
測定サイト http://speed.on.arena.ne.jp/ v2.0.7
測定時刻 2001/12/02 10:54:22
回線種類/線路長 ADSL/-km
キャリア/プロバイダ ACCA 8Mbps/so-net
ホスト1 WebArena(NTTPC) 4.52Mbps(2244kB,4.0秒)
ホスト2 at-link(C&W IDC) 5.3Mbps(2244kB,3.5秒)
推定最大スループット 5.3Mbps(665kB/s)
コメント ACCA 8Mbpsとしてはかなり速いです!おめでとうございます。(1/5)
これで、このように表示されます。
26 回
3.61423076923077 Mbps
課題 小数点以下を第2位くらい、あるいは、任意の桁で表示する。
独学の初心者です。よろしくお願いします。
0568名無しさん@お腹いっぱい。
01/12/03 19:17ID:???http://www.din.or.jp/~ohzaki/perl.htm
0569566
01/12/03 20:01ID:???ありがとうございます。
とりあえず、sprintf を使うことにしました。
後は、時間帯別、日別の平均スピードに挑戦します。
0570名無しさん@お腹いっぱい。
01/12/03 20:08ID:???printf(".2f",$avr);
本持って無いなら
`printf` `format` `perl` 辺りで検索してくれ
0571名無しさん@お腹いっぱい。
01/12/03 20:09ID:???0572バックスペースとのマッチ
01/12/03 20:37ID:sBy63GlFコマンドライン入出力ファイルから、特定コマンドの出力を取り出そうとしています。
(幸いな事に、ファイルにマルチバイト文字は含まれていません。)
コマンド入力の際に、「ミスタッチ→バックスペースで修正」と打たれていた場合に対応しようとし、以下の様に考えました。
1.バックスペースは直前の文字と相殺する。
2.バックスペースがある限り、1.を繰り返す。
以上を実現するため、以下の様なコードを書きました。(デバッグ用のprintも併せて記します。)
while($line =~ m/.[\b]/) {$line =~ s/.[\b]//; print "さば$lineさば\n";}
print "いわし$lineいわし\n";
以下、疑問点です。
疑問点1:
バックスペースが入っている行をこの処理に入れても、さばprintが出ません。
正規表現は合っているでしょうか?(「らくだ本」を見ても、私の頭ではいまいち解りませんでした。)
疑問点2:
いわしprintですが、バックスペースは単なるホワイトスペースとして出力されている様です。
(print出力をファイルへリダイレクトしてみましたが、明らかにホワイトスペースでした。)
私はやろうとしている事が果たしてできるのでしょうか??
蛇足ですが、当方の作業環境のperlバージョンは
This is perl, version 5.005_03 built for sun4-solaris
Copyright 1987-1999, Larry Wall
でした。
0573名無しさん@お腹いっぱい。
01/12/03 22:46ID:???物にはユーザのキーログがそのまま入ってるって訳?
だったらansiの表でも見ながらパーサ書くのが王道じゃ無いの?
→←とか押されたらどうするんでしょ
0574572
01/12/03 23:14ID:+1gWR50Y舌足らずな説明、すいませんです。
「コマンドライン入出力ファイル」とは、
telnet somehost | tee /tmp/log.txt
と打った時の/tmp/log.txt内容をご想像下さい。
バックスペース入力がファイルに残るのは見ているのですが、
カーソルキー入力がファイルに残り、それが入った文字列が有効なコマンド名となるのは試していませんです・・・すいません・・・
例えば、
p ^[[A s -a
みたいな感じになるのでしょうか?(でもこの場合、有効な入力にはならない気が・・・)
0575名無しさん@お腹いっぱい。
01/12/03 23:28ID:wka85RYEソースがおかしいって言ったら突然CGIを語るなら
LINUX勉強しろって言われてPHP、SQLの勉強してはどうだろうか?
と罵倒され、レンタルHTMLって知らないのかと言われたんだが…
0576名無しさん@お腹いっぱい。
01/12/03 23:45ID:???他のところで聞いてくるYO!
0578名無しさん@お腹いっぱい。
01/12/05 01:13ID:9ARk5xac0579名無しさん@お腹いっぱい。
01/12/05 17:18ID:rTg+WPehc:\perlの中? c:\scrとかかな? c:\pl?
スタンダードってありますか?
0580名無しさん@お腹いっぱい。
01/12/05 17:58ID:my6OaWYN0581名無しさん@お腹いっぱい。
01/12/05 19:34ID:???#何でスクリーンセーバだろ? とかちょっと悩んだ w
0582名無しさん@お腹いっぱい。
01/12/05 19:34ID:Lvfs0GBWforeach文で、
foreach(@line){
($_使って処理)
}
というようなことをしたいのですが、たとえば、配列@lineのが30個の要素
を持っていたとして、11番目から20番目まで処理したいとかいうとき
foreach文でそんなことは可能なのでしょうか?それとももっといい方法
があるのでしょうか?
私の少ない知識では、
for (my $i = 10; $i < 20; $i++){
($line[$i]を使って処理)
}
という幼稚な方法しか思いつかないのですが...。
ご教授お願いいたします。
0583_gunzip
01/12/05 19:44ID:???print $line[$_], "\n";
}
などなど。
0584名無しさん@お腹いっぱい。
01/12/05 20:12ID:???foreach(@line[10 .. 19]){
処理
}
0585名無しさん@お腹いっぱい。
01/12/05 23:42ID:???うちは c:\home\pl
0586572
01/12/06 02:54ID:1atXp7qL私の質問に回答をいただけないのは、きっと私の質問そのものに欠陥があったためなのでしょう。
という訳で、消えますが、その前に基本的な質問を発したくございます。
今回の様な極めて初歩的な質問(バックスペースにマッチするサンプルでOKです。)は、どのスレッドで質問すればいいのでしょう?
今回の様な、WebProgramingとは関係ない質問は、どの板で質問すればいいのでしょう?
やっぱり私は、シェル操作そのものに関して無知と思われます(カーソル移動で入力コマンド文字列を変更する技に関して、あまりよく知りません。)が、根本的に知識不足ですね。
書けば書く程鬱・・・Perlはおろか、コマンドラインでキーを打つのすら禁じられた気分であります・・・だって私は、愚者ですから・・・
失礼しました・・・
0587デフォルトの名無しさん
01/12/06 03:12ID:???上にも書いてるけど、キーログの類なら正直Packetstormとかに行って
KEYLOGってすればワラワラ出てくる筈だから、その辺でも見てみれば
マッチングだけなら m/\b/ でいいんだけど、個人的には文字列の解釈(コマンドの引き数とかね)は
正規表現でゴチャゴチャするより、
while(substr(***))って感じで1byteづつ切り分ける方が結構簡単だったりする
漠然としてるけどこんなところ。あんまり質問を見てないけど (^^;
0588名無しさん@お腹いっぱい。
01/12/06 06:24ID:???そのままのperl文を写して掲示板を作成したのですが
まったく機能しません。。(コメントが書き込まれない)
たぶん記述は何回も確認したので間違えてないと思うのですが
よろしければアドバイス願います。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
#!/usr/bin/perl
print "Content-type:text/html\n\n";
read(STDIN, $str, $ENV{"CONTENT_LENGTH"});
@parts=split('&',$str);
foreach(@parts){
($variable,$value)=split("=");
$value=~ tr/+/ /;
$value=~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
$value=~ s/\r\n/\n/g;
$value=~ s/\r/\n/g;
$cgi{$variable}=$value;
}
$formfile="../chatform.html";
$name = $cgi{"name"};
$memo = $cgi{"memo"};
0589長いので改行は省きました
01/12/06 06:25ID:???<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://************/chatform.html">
<body bgcolor=silver text=navy>
wait for a second...<P>
EOF
open(FILE, "$formfile");
@oldform = <FILE>;
close(FILE);
$li = undef;
foreach(@oldform){
if(/^<LI>/){
@body=(@body, $_);
$li = 1;
}elsif($li){
@foot = (@foot, $_);
}else{
@head = (@head, $_);
}
}
open(FILE, ">$formfile");
select FILE;
print @head;
print @body;
print <<EOF;
<LI>$name: $memo
EOF
print @foot;
close(FILE);
0590名無しさん@お腹いっぱい。
01/12/06 06:55ID:???記述に間違いが無くてこれなら、こんな本捨てちまえ (いやマジで
つーか全然すぐ分かって無いし
愚痴だけじゃアレだから、openした時は返り値を見れ
open(FH,"hoge")||&Error("Can't open $!");
とか
if(!open(FH,"hoge")){&Error("Can't open $!");}
として
sub Error{print "Content-type: text/html\n\n$_[0]"}
後はひたすらprint分並べて変数の中確認しろ
なるべく小さく、ファイル操作するなら、まずファイルに一文字書き込み
から。
0591名無しさん@お腹いっぱい。
01/12/06 07:01ID:???0592名無しさん@お腹いっぱい。
01/12/06 07:24ID:???とりあえず何となく合ってる風味だからHTML間違えてるとかファイル開いてないとかじゃないの
上からどんどんprintして見ていけば?
0593説明
01/12/06 07:39ID:???書いてるものを選ぼう。
いきなりCGI書かせてCarpやKcatchの説明も無しと言うのは作者が精神分裂症か
サディストかのどちらかです :3=) Byバカボンのパパ
0594名無しさん@お腹いっぱい。
01/12/06 07:39ID:???殆どそのまんま588をコピペしたけど書き込まれたよ。
chatform.htmlが存在しないか、投稿フォームがオカシイんじゃ?
0595名無しさん@お腹いっぱい。
01/12/06 07:59ID:???0596名無しさん@お腹いっぱい。
01/12/06 08:24ID:???これ(↓)試したらどうなります?
$_ = "a\bb\bc\n";
print;
s/[\b]//g;
print;
0598名無しさん@お腹いっぱい。
01/12/06 09:09ID:???『初めてのPerl』やったら、『すぐわかるPerl』を買ったことをすぐに後悔した。
0599名無しさん@お腹いっぱい。
01/12/06 10:04ID:???参項書籍スレッドの方では結構評判いいのにね。
よかったら、その辺のこと、
http://pc.2ch.net/test/read.cgi/php/988809842/
に書いといてくれない?
サマリーに入るかもしれないし。
0600名無しさん@お腹いっぱい。
01/12/06 11:26ID:???100倍良いのは明らかだとは思う。
ただ、ホントにプログラムくむのが初めての人だったら、
一冊目が「初めてのPerl」というのはキツいかもしれない。
そういう場合のみ意味があると思う>すぐわかるPerl
# 大体、「すぐ分かるPerl」の著者は、本の中で「初めてのPerl」
を推薦してるし。
0601名無しさん@お腹いっぱい。
01/12/06 14:32ID:ixzePiV3ファイルを保存するルーチソってこれで問題ないですかね?
open(FILE, ">$file_dir\/$_[0]\.$$");
binmode(FILE);
binmode(STDIN);
while(<STDIN>) {
if ( $_ =~ /^$endline/ && $endline =~ /^--/ ){
last;
} elsif ( /^--/ ) {
$endline = $_;
} elsif ( /^Content\-Type\:\s*(.*)/i ) {
$file_type = $1;
} elsif ( /^\r\n/ ) {
next;
} elsif ( /^Content-Disposition: form-data/i ) {
next;
} else {
s/\r\n//g;
print DB $_;
}
}
close(FILE);
0602601
01/12/06 15:39ID:???cgilib使ったほうがいいのかな
0603ウンコー
01/12/06 15:43ID:8ybpM+Zdhttp://www.puchiwara.com/hacking/
それでもむりなら
裏ニュース。
0604572
01/12/06 19:27ID:wL0DoiFw懲りずに書き込みます。
>>596様のスクリプトですが、私の環境で実行したところ、
c
abc
と出ました。期待値通りの出力です。
以上から考えますと、バックスペース入力は、ファイル内では
\b以外の文字コードとして存在している、という事になります。
viでファイルを開くと「^H」(カーソル移動はこれで一文字分の移動をし、^とHから成る訳ではありません。)と見えるこの文字が何であるのか、
もう少し調べてみます。
それでは。
0605588&589
01/12/06 20:07ID:???当方、初心者なもんで「これでやっと掲示板作成か!」って段階に
来ていたのにできないもんですから、鬱になってました。。
>>594
投稿フォームも全部記述通りに書いたのですが
やっぱり無理でした。。
とりあえず590さんのを見てもう一度考えてみます
0606名無しさん@お腹いっぱい。
01/12/06 23:27ID:dTMUXoew�A if((100 <= $total) and ($total < 200))
こういう条件式は�@のようにいっぺんに聞いてはいけないのでしょうか。
SQL文は�@のやり方でいけたんですけれど。
0607名無しさん@お腹いっぱい。
01/12/06 23:42ID:???htmlでmethodはpostです。
それで渡す値を色々試したいのでurlに?hoge=引数の形で
試すのですがうまく渡りません。
単にurlに引数を渡す場合でもhtmlのmethodをgetに変えなきゃいけないんでしょうか。
0608名無しさん@お腹いっぱい。
01/12/06 23:50ID:???0609名無しさん@お腹いっぱい。
01/12/07 01:34ID:???"\0"をセパレートとしてるけど、これって値事態に
"\0"があったら意味ないよね?
それとも\0ってなにか特殊なの?
0610609
01/12/07 01:37ID:???0611名無しさん@お腹いっぱい。
01/12/07 01:42ID:We0Nr7brperlで処理をすべて1ファイルで記述して
100KBくらいになったCGIは
やっぱり重いですか。
分割したほうがいいですか?
0612名無しさん@お腹いっぱい。
01/12/07 02:09ID:???分割したって同じじゃない?
0613名無しさん@お腹いっぱい。
01/12/07 02:13ID:???>初心者ということで教えてください。
これを書いてしまったことにより無視されるに50円。
■ このスレッドは過去ログ倉庫に格納されています