【Perl】初心者コーナー Part15
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/08/08 23:19ID:???1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。
1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。
CGIだけど、なんか質問ある? Part 6 (その2)
http://pc.2ch.net/test/read.cgi/php/1025930486/
参考書籍の話題は【【Perl,CGI】参考書籍 第2版】
http://pc.2ch.net/test/read.cgi/php/988809842/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/
スクリプトの改造依頼は 【スクリプト改造工房 Part4】
http://pc.2ch.net/test/read.cgi/php/1012839651/
過去ログ、その他の役立ち情報は>>2-10あたりを見よう。
0183アップローダを作り隊
02/08/15 20:17ID:OdAnllx3http://ruffnex.oc.to/ipusiron/upload/1171.zip
↑一応ゆいのーとを使っているサイトにソースをアップしました。
最低限設定する必要がある部分など指摘していただけたら、と。
0184アップローダを作り隊
02/08/15 20:17ID:OdAnllx30185nobodyさん
02/08/15 20:49ID:???ちゃんと動くよ?(^^;
$url = 'http://www.hoge.com/~hoge/up/source.cgi';
$storeurl = 'http://www.hoge.com/~hoge/up/source/';
$counter_enable = 0;
source.cgi(755)とsourcelog.txt(777)とsource/(777)を置いてパーミッションを適当に。
妙な制限掛かってるんじゃない?
0186アップローダを作り隊
02/08/15 20:57ID:OdAnllx3そ。。。そうなんですか?
ちなみにスペース借りてるサーバーがWindows2000なんですが、
それも関係あるんでしょうか?
文字化けも激しいのですが。。。
0187nobodyさん
02/08/15 21:08ID:???0189アップローダを作り隊
02/08/15 21:24ID:OdAnllx3一応、いくつかファイルをアップした時の状態のものを晒しておきます。
何かこれからわかることがあったらよろしくです。
0190アップローダを作り隊
02/08/15 21:29ID:OdAnllx3もともとソースファイルを参考にして自分で作ろうと思ってるので、
できれば>>183のソースファイルの何行目あたりが大事だぞ、とかだけでも言っていただけないでしょか?
ほんと聞いてばかりですみませんです。
0192nobodyさん
02/08/16 00:02ID:???0193アップローダを作り隊
02/08/16 00:09ID:kDsvONdE今ソースファイルをわかり易く?まとめてるので、
binmodeを使うべきところがわかったら試してみようと思ってます。
使い方はわかったのですが、今までbinmodeというのは知らなかったので。。。
0194nobodyさん
02/08/16 01:13ID:???CGI.pmでもいいけど。
0195nobodyさん
02/08/16 14:48ID:???しょうか。普通:じゃないですか?
0198nobodyさん
02/08/16 17:45ID:gz1h7SNU:をエスケープしないで済むからだとおもわれ。
タグを許可しなければ<>が入力されてくることはないので都合がよい。
0199nobodyさん
02/08/16 18:53ID:???ていうかこれが普通だと思いこんでいたけど。
0200nobodyさん
02/08/16 20:57ID:???セパレータに2バイトも使うとは愚の骨頂ですね
\t ?? はつみみです
0201アップローダを作り隊=193
02/08/17 04:09ID:17AkwzDgそれならばと、書店に行って「大人のCGIスクリプト」という本を買って
そこに出ている「ホームページにファイルをアップロードする」というところを
参考にしました。
それで、とりあえず本に載っているソースをそのまま書いて試したのですが、
うまくいきません。…つД`)
もうどうしていいのかわからないのですが、
本に載ってたものをそのまま書いたソースファイルをアップしておきましたので、
もし見て何かわかることがありましたら、どうかお願いします。
http://ruffnex.oc.to/ipusiron/upload/1178.zip
状態として、CGI自体はエラーもなしに動くのですが、
ファイルがまったくアップロードされません。
1バイトもファイルが作られないので、何か決定的な間違えがあると思うのですが。。。
あと32行目当たりのコメントの後ろに「$bound =~ s/…」とあるのですが、(本がその通りに書いてあったので)
これは本来コメント部分なのか、それとも間違えてコメントの部分に書かれたものなのかがよくわかりません。
0202アップローダを作り隊=193
02/08/17 04:12ID:17AkwzDg本には”アップロードされたファイルは「./filepost/」というディレクトリに保存される。”
と書かれたありました。
0203nobodyさん
02/08/17 09:27ID:???0204アップローダを作り隊
02/08/17 10:12ID:17AkwzDgパーミッションは755ではダメですか?
CGIスクリプトからの書き込みとパーミッションって関係ないと思ってたのですが。。。
あと、前述したのですがNTサーバーなのでパーミッションが変更できないのです。
(NTサーバーだから変更できないわけじゃないかもしれませんが、借りてる鯖は変更できません)
やっぱりパーミッションは777がいいのでしょうか?
0205195
02/08/17 13:13ID:???CGIの流儀には詳しくないんだ。スマソ。
0206nobodyさん
02/08/17 13:20ID:???>> パーミッションは755ではダメですか?
>> CGIスクリプトからの書き込みとパーミッションって関係ないと思ってたのですが
ええと、不特定の人がファイルをうpするんですよね。うp = 書きこみですから、
ファイルを保存するディレクトリに誰でも書きこめるようにしておかないと駄目です
よ。755なら所有者しか書きこめません。
って、これはUNIX鯖の話で、NTのことは分かりません。でもパーミッションが変更で
きなかったら使いものにならないような気がしますが...
0207nobodyさん
02/08/17 14:19ID:???まずはここから ⇒ REQUEST_METHOD
0208207
02/08/17 14:28ID:???if ($ENV{'CONTENT_LENGTH'} > 5050000){exit;}
binmode(STDIN); # 追加
#ファイル名、区切り文字「バウンダリ」の取得
while (<STDIN>){
0209207
02/08/17 14:30ID:???binmode(OUT); # 追加
0210nobodyさん
02/08/17 16:09ID:???ランダムに並び換えて(シャッフルして)出力するにはどうすればいいですか?
0212アップローダを作れ隊
02/08/17 17:34ID:17AkwzDgで、で、で。。。できますた〜。つД`)
if ($ENV{'REQUESTMETHOD'} eq "POST")のところは
後で自分で気付いて「バカだな〜」と思ったのですが、
それ直しても全然できなくて。。。
バウンダリというものが、検索かけてもいまいちイメージがわかないのですが、
きっとそのうち自分で勉強して理解できるようになります!
本当にわざわざソース見て、指摘してくださってありがとうございます。
二日間ほとんど寝ずに頑張った甲斐がありました。
いつか初心者コーナーで答えられるようになって帰ってきます。
本当にありがとうございました。
>>206
NT鯖がどうなのかよくわからなかったのですが、
パーミッション755で無事アップロードできました。
そもそもパーミッションってあるのかな?っと思いました。
0213nobodyさん
02/08/17 17:42ID:???案外、これが重要だったりする。
0214???
02/08/17 18:07ID:mpsXRracサイトなどを見ながら、cgiの勉強しはじめたんです。
で、何か、perlを落として来いって書いてるんですけど、
perlをダウンロードしようと思ったら、
xpのところが「No additional requirements」って書いてて、
落とせないんですが、
どれを落とせばいいのでしょうか?
0215???
02/08/17 18:10ID:mpsXRracんで、落とそうとしたサイトが、
有名なんでしょうが、一応書いとくと、
http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl&_x=1
です。。。
0216nobodyさん
02/08/17 18:16ID:Jdg3+PCYよし↑とりあえずこれいれろ5.8な、
、、んでだActivePerlのそれはインストーラーがうまくいかないOSは
パッチあててねって意味。2000/XPには必要ねーよってこと
0217nobodyさん
02/08/17 18:20ID:???↑、どこでダウソするんだろうな?
有名も糞もなにもここにいるWin厨はみんなActivePerlだろう。
最近はネトランも付録CDにつけてるからな〜そういうのはいいんだがあの雑誌は
0218???
02/08/17 18:25ID:???アフォ過ぎだったんですね。
優しく教えていただき有難うございました!
0219nobodyさん
02/08/17 20:03ID:fKAF/2/WPERLってパラメータ(変数)渡してファイル実行、てできないんでつか。
cgiページで別のcgi呼ぶのに
require 'XXX.cgi';
とやればいいのは分かるんですが、変数渡して実行するやり方が
分かりません。
0220nobodyさん
02/08/17 20:38ID:???グローバル変数はそのままサブに引き継がれるが・・・
難しいか?
====================
本スクリプト
$aa = 1;
$bb = 2;
require 'XXX.cgi';
&XXX;
====================
XXX.cgiの内容
sub XXX {
$cc = $aa + $bb;
print "$aa + $bb = $cc";
} 1;
====================
0221nobodyさん
02/08/17 20:43ID:???====================
本スクリプト
require 'XXX.cgi';
&XXX(1,2);
====================
XXX.cgiの内容
sub XXX {
$aa = $_[0];
$bb = $_[1];
$cc = $aa + $bb;
print "$aa + $bb = $cc";
} 1;
====================
0222nobodyさん
02/08/17 21:02ID:???分かりました!ありがとうございます、やってみます。
0223nobodyさん
02/08/17 21:08ID:???} 1;
ってどういう意味があるのですか?
このパッケージ関数の仕事は正常に終わったよ(゚Д゚)、ペッ って意味。
0228nobodyさん
02/08/17 22:47ID:???( ゜д゜)ポカーン
0229nobodyさん
02/08/17 22:48ID:???>225-227
タイム( ゜д゜)ポカーン
0236nobodyさん
02/08/18 15:40ID:CpuDe273openでURLを指定してwhileでprintさせてみましたが
何も表示されませんでした。
もしできるのなら方法を教えてください。
0237nobodyさん
02/08/18 15:44ID:???http://ash.jp/perl/socket_http.htm
0238nobodyさん
02/08/18 15:56ID:QsLadsc+アプレットを、なんとかしてホームページで使いたいと考えています。
WaterPicというアプレットなのですが、
「classファイルが見つかりません」とステータスバーに表示されてしまい
必要なファイルはすべてサーバーにアップしたのですが、
うまく表示されません。
海外サイトなので、翻訳ツールなど使ってFAQを読んでみたり
自分なりに検索をしてみたのですが、どこを直せば良いのかわからず…。
どなたかご教授戴けますでしょうか。よろしくお願い致します。
参考サイト ttp://www.durius.com/index.php
0240nobodyさん
02/08/18 16:27ID:QsLadsc+0242nobodyさん
02/08/18 16:31ID:???ここ Javaアプレット のスレじゃなくて perl のスレですよん?
>>1 読んでます?
アプレットの設置で詰まってるならWeb製作管理板へどうぞ
☆ Webサイト制作初心者用スレッドver29 ☆
http://pc3.2ch.net/test/read.cgi/hp/1028459248/l50
0243nobodyさん
02/08/18 16:32ID:QsLadsc+0244nobodyさん
02/08/18 17:42ID:iuSsoGyA戻り値を得るのに時間がかかった時のために、タイムアウト時間を
指定する方法はないのでしょうか?
unless (connect SOCKET, $sockaddr) {
warn "don't connect $host:$port $!";
return 0;
}
一定時間後に別プロセスからシグナルを受け取ると、connect関数の
戻り値が得られていなくても次の動作にうつる、という方法も考えた
のですがもっと簡単な方法があれば教えてください。
0245+++
02/08/18 18:00ID:R5t0PgRFhttp://www.ActiveState.com/ActivePerl/download.htm
↑ココから進んだ先で、DL出来ないんですが、
なぜでしょう?(Win の AS package)
どこか他でDL出来ないでしょうか?
0246nobodyさん
02/08/18 18:02ID:???http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.633-MSWin32-x86.msi
0247+++
02/08/18 18:07ID:R5t0PgRF落ちてきます?
404なんですけど・・・。
0248+++
02/08/18 18:10ID:R5t0PgRF0249f
02/08/18 18:25ID:zqX/Ef2t〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------
0250+++
02/08/18 19:21ID:???メンテかなんかだったんでしょうかね?
とにかく、解決しました。スレ汚しスマソ。
0251nobodyさん
02/08/18 20:15ID:???alarmとevalを使えばよい。
http://www9.org1.com/~anach/memo/20020309.html
0252nobodyさん
02/08/18 21:56ID:???スクリプトのエラーがあると、err500とかになっちゃいますが、エラーの個所とか出せないんでしょうか?
前はIIS+ActivePerlだったんですが、そのときはエラーログが残ったんですが。。
0255nobodyさん
02/08/19 11:26ID:???use sigtrap;
use diagnostics;
use warnings;
0256nobodyさん
02/08/19 12:43ID:???CGI.pmを使ってフォームから
ENCTYPE="multipart/form-data" METHOD="POST"
としてCGIに送っているのですが、書き込みを中止させたときに
JavaScriptで書き込みのページに戻しているのですが(一から書き直させない為です)
「 警告 : ページの有効期限切れ 」
と、出てしまいます。
これはしょうがないのでしょうか?
CGI.pmを使わない普通の掲示板だと上手くいくのですが・・・。
0258nobodyさん
02/08/19 13:59ID:???IO::Socket の connect()メソッドのコードを見よ。
ってかIO::Socket::INET使え。
$sock = IO::Socket::INET->new(
PeerAddr => $host,
PeerPort => $port,
Proto => 'tcp',
Timeout => 60,
);
0259nobodyさん
02/08/19 17:00ID:1kKCbwDN上の形式で保存されているログファイルの中にあるcの数をカウントするにはどうすれば良いのでしょうか?
0261259
02/08/19 17:08ID:???メモしておきます!!!!!!!
0263256
02/08/19 19:43ID:TnC/wrS+ヘッダーに入れてキャッシュを無くすものでしょうか?
自分では入れていないので、データを受取ってCGI.pmで
$query->param
しているのが原因でしょうか?
というか勝手にCGI.pmで処理されているのでしょうか?
0264nobodyさん
02/08/19 21:34ID:nf8Usneb「#」ってエスケープできないんでしょうか。
0265nobodyさん
02/08/19 21:45ID:DxRxf6Pvuse encoding "euc-jp";
してるときにURLエンコード・デコードってどうやるんでしょうか?
文字列がUNICODEになるせいか普通の方法だとできないです。
0267264
02/08/19 22:40ID:nf8Usnebええと、色コードの指定に使いたいんですけど、実体参照でも有効なんですか?
っていうのは板違いですかね。
調べてきます。
0268E04 ◆Ikb1Go..
02/08/19 22:50ID:gHSnDTPFログファイルに書き込まれた文字列を$capとして読み込み、
読み込んだ後に暗号化したいんですけど…
YY-Boardのcryptルーチンを転用させてもらったら、アクセスするごとに表示されるキャップが変わってしまいました。
どなたか、キャップ機能のルーチンを書いていただけたら光栄です。
0269E04 ◆Ikb1Go..
02/08/19 22:52ID:gHSnDTPF鬱じゃ
0270nobodyさん
02/08/20 10:21ID:mXpjYijiコピペする人のために書くルーチンは在りません。
カエレ。
http://pc.2ch.net/test/read.cgi/php/1003131529/375
0271E04
02/08/20 13:28ID:OO5Itufaマジかよ・・それ俺じゃないのになぁ(´Д`;
ま、マルチじゃないのにマルチと決め付けられたり、自作自演と決め付けられるのも、
この板ならではだからシカタナイか。
0272nobodyさん
02/08/20 13:32ID:0fyshNrg$trip = substr( crypt($cap, $cap), -8 ) ;
0273270
02/08/20 13:45ID:UfVInuyuマルチは問題ではありません。
ていうか、そこまで出来るのであれば、
crypt
の動作を調べて自力で出来るはず。と思う。
ソレで出来なかったらソースを晒して下さい。
0274nobodyさん
02/08/20 14:03ID:???ダウンロードするときなどに、認証するようにしたいのですが
どのような処理を行えばいいでしょうか(;´Д`)
ヒントを頂けないでしょうか?
0275nobodyさん
02/08/20 14:12ID:???ダウンロードするときなどに、クッキーで認証する。
0276nobodyさん
02/08/20 14:48ID:???http://www.parkcity.ne.jp/~chaichan/qanda/qa3047.htm?02-08-20-14-46
0277nobodyさん
02/08/20 15:04ID:???プンプン
0278256
02/08/20 16:39ID:???>>262さん
原因がわかりました、一度投稿した後そのまま記事表示させ、
その後の投稿でエラーなどで、投稿が中断され戻ると、
警告が出てきていました。
ですので、書き込み処理の後にHTTP-EQUIV=Refreshで更新させ
たら、上手く行きました。
すいませんでした。
0279256
02/08/20 16:41ID:???その後の投稿が中断され、ブラウザの戻るボタンで戻ると
0280nobodyさん
02/08/20 22:43ID:EZdiVz9http://books-support.softbank.co.jp/pq/backnumber/012_ans_reader.html
この例のwebアドレス部分をauctions.yahoo.co.jpに置き換えると
とうまくいかないのはなぜですか?
www.yahoo.co.jpだとうまくいくんですが。
0281nobodyさん
02/08/20 22:59ID:???HTMLは取れますけどね
0282280
02/08/20 23:25ID:EZdiVz9hすみません。オークショントップは繋がりました。
(さっきはできなかったのに)
rating.auctions.yahoo.co.jp/jp/show/rating?userID=nakatax2002&filter=-1
こっちアドレスだと「通信が確立できませんでした」が出るんですが
なぜでしょうか?
■ このスレッドは過去ログ倉庫に格納されています