Perlコーディング初心者質問スレ Part 45
■ このスレッドは過去ログ倉庫に格納されています
0001988
2005/12/08(木) 22:48:27ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0386nobodyさん
2006/01/07(土) 22:44:54ID:???0387nobodyさん
2006/01/07(土) 22:45:28ID:???0389382-383
2006/01/07(土) 23:06:50ID:5axJGSRV駄目でした。置き換え文字列には含まれなくとも行自体に name= があると駄目なようです。
>>388
そのままです。
あとは、Perl のバージョンやパスが書いてあるだけです。
0390nobodyさん
2006/01/07(土) 23:14:21ID:???あと悪いことはいわないから周りのコード晒せ。
見た感じループ内の処理みたいだからそのループ全体を。
0391382-383
2006/01/07(土) 23:16:51ID:5axJGSRVopen(TEMPLATE, "./template.html");
@lines = <TEMPLATE>;
close(TEMPLATE);
print "content-type: text/html" . \n\n;
for ($i = 0; $i < @lines; $i++) {
$line = $line[$i];
#以下、前記のとおり
print $line;
}
exit 0;
0392382-383
2006/01/07(土) 23:17:57ID:5axJGSRV○ $lines[$i]
0393nobodyさん
2006/01/07(土) 23:18:37ID:???0394382-383
2006/01/07(土) 23:27:41ID:5axJGSRV0395nobodyさん
2006/01/07(土) 23:29:19ID:7SuLco6K最近真面目にそういうお馬鹿スクリプト書く初心者が増えてきたからねぇ…
0396382-383
2006/01/07(土) 23:31:06ID:5axJGSRV0397382-383
2006/01/07(土) 23:32:39ID:5axJGSRV0398nobodyさん
2006/01/07(土) 23:34:23ID:???「初心者なので」というセリフは大嫌いだが、>>391をそのまま実行すると
print "content-type: text/html" . \n\n; でエラー。当然だがね。
0399382-383
2006/01/07(土) 23:35:54ID:5axJGSRVopen(TEMPLATE, "./template.html");
@lines = <TEMPLATE>;
close(TEMPLATE);
print "content-type: text/html\n\n";
for ($i = 0; $i < @lines; $i++) {
$line = $line[$i];
#以下、前記のとおり
print $line;
}
exit 0;
でも先の問題は解決されません。
0400382-383
2006/01/07(土) 23:36:41ID:5axJGSRV0401nobodyさん
2006/01/07(土) 23:37:43ID:???こっちでは再現しないけど。「前記の通り」とかじゃなくてフルに書いてみ?
あとPerlのバージョン含めた実行環境も。
0402382-383
2006/01/07(土) 23:41:59ID:5axJGSRV$comment1 = "";
open(TEMPLATE, "./template.html");
@lines = <TEMPLATE>;
close(TEMPLATE);
print "content-type: text/html\n\n";
for ($i = 0; $i < @lines; $i++) {
$line = $lines[$i];
$line =~ s|<textarea name="comment1" cols="60" rows="10"></textarea>|<textarea name="comment1" cols="60" rows="10">$comment1</textarea>|;
print $line;
}
exit 0;
駄目。
#!/usr/local/bin/perl
$comment1 = "test";
open(TEMPLATE, "./template.html");
@lines = <TEMPLATE>;
close(TEMPLATE);
print "content-type: text/html\n\n";
for ($i = 0; $i < @lines; $i++) {
$line = $lines[$i];
$line =~ s|<textarea name="comment1" cols="60" rows="10"></textarea>|<textarea name="comment1" cols="60" rows="10">$comment1</textarea>|;
print $line;
}
exit 0;
これも駄目です。
template.html の内容と印刷結果は載せなくても大丈夫ですか。
0403nobodyさん
2006/01/07(土) 23:42:28ID:???そうすれば直ぐに答えがかえってくるんだから。
0404382-383
2006/01/07(土) 23:44:11ID:5axJGSRVこれは perl, v5.6.1 built for i386-linux です
0405382-383
2006/01/07(土) 23:46:11ID:5axJGSRV>>402 に書いたのは全行です。
テストなので、これだけしか書いていません。
これだけしか書かないうちに先の不都合が見つかりました。
もっとも、最終的にやろうとしていることはありますが、それらはまだ書いていません。
この問題の解決が先なので。
0406nobodyさん
2006/01/07(土) 23:47:27ID:???0407382-383
2006/01/07(土) 23:48:07ID:5axJGSRV#!/usr/local/bin/perl
$comment1 = "";
open(TEMPLATE, "./template.html");
@lines = <TEMPLATE>;
close(TEMPLATE);
print "content-type: text/html\n\n";
for ($i = 0; $i < @lines; $i++) {
$line = $lines[$i];
$line =~ s|<textarea name="comment1" cols="60" rows="10"></textarea>|<textarea name="comment1" cols="60" rows="10">$comment1</textarea>|;
print $line;
}
exit 0;
0408nobodyさん
2006/01/07(土) 23:48:16ID:???前者も後者も正常に実行できている。ソースを見てもスクリプトの問題とは思えない。
エラーの出方から見てえらく特殊な環境で実行しているようにしか思えない。
perlバージョンだけでなく、OSのバージョンも。
0409382-383
2006/01/07(土) 23:50:31ID:5axJGSRV「雛形の」という意味ですか。
であれば、違います。
雛形で言えば、該当行の下には
</form>
</body>
</html>
などの行もあります。
0410nobodyさん
2006/01/07(土) 23:50:41ID:???コマンドラインで実行できないの?
0411382-383
2006/01/07(土) 23:56:08ID:5axJGSRV0414382-383
2006/01/07(土) 23:58:04ID:5axJGSRVRed Hat Linux 7.2 2.96-118.7.2
0415382-383
2006/01/08(日) 00:00:24ID:0I8ISceR日ごとに書庫化されています。
スクリプトを実行するたびに書庫にログが追加されています。
0416nobodyさん
2006/01/08(日) 00:01:40ID:???RedHat7.2+perl5.6.1で「コマンドライン実行」した結果は?
「name は予約語となる可能性があります。あるいは、name の前にオペレータが抜けてはいませんか。」
なんて表示が日本語で出てくるわけじゃないよな?
0417382-383
2006/01/08(日) 00:02:34ID:0I8ISceR必要なら言ってください。
0418382-383
2006/01/08(日) 00:03:30ID:0I8ISceRFAQ に「当サーバではコンソールの使用を認めておりません。」とあります。
参考になりますか。
0420382-383
2006/01/08(日) 00:05:19ID:0I8ISceRどういうことですか。
0421nobodyさん
2006/01/08(日) 00:10:14ID:???あと自作CGIはローカルに実行環境を持って、そこでテストしてからレン鯖に持っていくのが常識。
で、結論から言うと>>402のスクリプトに異常はない。これでエラーが出てるなら
perl以外の問題である非常に高い。レン鯖の名前を出せるようなら、親切な人が
検証してくれる可能性もあるが。
0422nobodyさん
2006/01/08(日) 00:10:29ID:???市ねってことでしょ。まさか自分のPCにPerlも入れてない?
0423nobodyさん
2006/01/08(日) 00:11:03ID:???0424nobodyさん
2006/01/08(日) 00:18:25ID:???0425nobodyさん
2006/01/08(日) 00:22:07ID:???初心者回答者は答えられない言い訳を質問者に転嫁することが多いですね
0426nobodyさん
2006/01/08(日) 00:22:27ID:???ですが何か?
0427nobodyさん
2006/01/08(日) 00:28:21ID:???0428nobodyさん
2006/01/08(日) 00:29:43ID:???0431nobodyさん
2006/01/08(日) 01:14:47ID:???0432nobodyさん
2006/01/08(日) 01:17:17ID:???0434nobodyさん
2006/01/08(日) 01:17:57ID:???0436382-383
2006/01/08(日) 01:27:57ID:???0438nobodyさん
2006/01/08(日) 01:46:42ID:???ID出してもどうせだれも答えられないんだからID出すこと自体無意味
0439nobodyさん
2006/01/08(日) 01:48:20ID:???初心回答者は自画自賛もお手の物です。
0441nobodyさん
2006/01/08(日) 01:53:13ID:???0442nobodyさん
2006/01/08(日) 01:58:25ID:???0443nobodyさん
2006/01/08(日) 02:00:29ID:???スペースじゃなくて文字が入っていても結果が同じだと言ってるのだから何の解決にもならない
二つスクリプト貼ってるだろ
よく読め
ボケカス
0444nobodyさん
2006/01/08(日) 02:08:37ID:???俺ンとこでも再現した!
0445nobodyさん
2006/01/08(日) 02:09:04ID:???エラーメッセージ嫁
0446nobodyさん
2006/01/08(日) 02:16:12ID:???<HTML>
<BODY>
<FORM action="" method=POST>
<TEXTAREA name="comment1" cols="60" rows="10"></TEXTAREA>
</FORM>
</BODY>
</HTML>
実行結果
<HTML>
<BODY>
<FORM action="" method=POST>
<TEXTAREA
</FORM>
</BODY>
</HTML>
0448nobodyさん
2006/01/08(日) 02:20:40ID:???0450nobodyさん
2006/01/08(日) 02:22:59ID:???モノは出力されてんだから
シェルからでも同じ
0452nobodyさん
2006/01/08(日) 02:24:42ID:???<HTML>
<BODY>
<FORM action="" method=POST>
<TEXTAREA
</FORM>
</BODY>
</HTML>
0453nobodyさん
2006/01/08(日) 02:25:33ID:???みんな優しいのな。
仕事なら自分で解決しろとしか俺は言わんが。
0454nobodyさん
2006/01/08(日) 02:26:06ID:???fedora core 4
0455nobodyさん
2006/01/08(日) 02:26:13ID:???content-type: text/html
<HTML>
<BODY>
<FORM action="" method=POST>
<textarea name="comment1" cols="60" rows="10">test</textarea>
</FORM>
</BODY>
</HTML>
0456nobodyさん
2006/01/08(日) 02:27:15ID:???いったいおまえらにバージョンの差異がわかるのかと(ry
0459nobodyさん
2006/01/08(日) 02:31:00ID:???0460nobodyさん
2006/01/08(日) 02:31:27ID:???0462nobodyさん
2006/01/08(日) 02:32:15ID:???Content-type: text/html
<HTML>
<BODY>
<FORM action="" method=POST>
<TEXTAREA
</FORM>
</BODY>
</HTML>
$comment1 = "test"; # の場合
Content-type: text/html
<HTML>
<BODY>
<FORM action="" method=POST>
<TEXTAREA
</FORM>
</BODY>
</HTML>
0463nobodyさん
2006/01/08(日) 02:32:30ID:???0464nobodyさん
2006/01/08(日) 02:33:42ID:???0465nobodyさん
2006/01/08(日) 02:34:07ID:???というかこいつらのデバッグってただ流せれば終わりなの?
0466nobodyさん
2006/01/08(日) 02:35:39ID:???0468nobodyさん
2006/01/08(日) 02:35:45ID:???$line =~ s|<TEXTAREA name="comment1" cols="60" rows="10"></TEXTAREA>|<TEXTAREA name="comment1" cols="60" rows="10">$comment1</TEXTAREA>|;
$line =~ s|comment1" cols="60" rows="10"></TEXTAREA>|comment1" cols="60" rows="10">$comment1</TEXTAREA>|;
どっちでもダメだわこりゃ
0469nobodyさん
2006/01/08(日) 02:37:44ID:???するぐらいならヒアドキュメントのほうがどれだけいいことか。
0470nobodyさん
2006/01/08(日) 02:38:01ID:???0473nobodyさん
2006/01/08(日) 02:40:19ID:???0474nobodyさん
2006/01/08(日) 02:41:38ID:???0476nobodyさん
2006/01/08(日) 02:43:14ID:???あの質問ではあんなテンプレートあってもなくても意味がないような気がするが
のちのちの完成形ではテンプレートを読み込むというのが絶対条件なら
くずせないだろ、バカチン
0477nobodyさん
2006/01/08(日) 02:44:46ID:???<HTML>
<BODY>
<FORM action="" method=POST>
<INPUT type=text
</FORM>
</BODY>
</HTML>
0478nobodyさん
2006/01/08(日) 02:45:40ID:???0480nobodyさん
2006/01/08(日) 02:47:04ID:???0481nobodyさん
2006/01/08(日) 02:47:22ID:???0482nobodyさん
2006/01/08(日) 02:48:48ID:???仮にそんなことがあるとしてもそんなことが判明しても解決にならない。
formのnameが別の名前に置き換えられないんだから。
0483nobodyさん
2006/01/08(日) 02:50:03ID:???0484nobodyさん
2006/01/08(日) 02:50:31ID:???0486nobodyさん
2006/01/08(日) 02:53:22ID:???全然付いていけない。
オヤスミナサイ。
■ このスレッドは過去ログ倉庫に格納されています