【Perl 】初心者コーナーPart6
■ このスレッドは過去ログ倉庫に格納されています
0001undefさん
2001/07/26(木) 00:40ID:???尋ねる前に同じ質問がないかこのスレや旧スレ、及び>>2のリンクを一通り見てみよう。
案外答えはもう書かれているかもしれない。
0502名無しさん@お腹いっぱい。
2001/08/20(月) 19:36ID:???0503名無しさん@お腹いっぱい。
2001/08/20(月) 20:26ID:???0504500
2001/08/20(月) 23:50ID:..QkqNpIcronが使えないサーバーでやる方法は無いでしょうか?
やっぱり手動で数回に分けて送信するしかないのかな〜
0505名無しさん@お腹いっぱい。
2001/08/21(火) 00:07ID:???手法はいくらでもあるけどね。
CGIの話なんですか?
それなら、一定時間ごとにCGIが走れば良いわけだから....(略)
0506500
2001/08/21(火) 00:40ID:6E4T9QScどのような方法ですか?初心者向けの簡単な方法の仕組みを教えてください
私が思いつく限りでは
データファイルか何かに起動する時間を書いておく
その時間を過ぎていたら起動させるようにするスクリプトを組む
それをカウンターか何かのアクセスが多いCGIに組み込む
とりあえずこんなのしか思いつかないんですけど
これだとあまりにも中途半端すぎるんで 良い方法を教えてください
0507名無しさん@お腹いっぱい。
2001/08/21(火) 00:56ID:???それでも良いし、常時接続な環境なら自動リロードさせても
良いんじゃない?
というか、CGIでやるの止める方向でいきませんか?
# CGI-MLの過去ログで検索すると腐るほど情報あるよ
0508500
2001/08/21(火) 03:05ID:6E4T9QSc1000人分くらいのメンバー情報を扱う時
一つのデータファイルにまとめて入れるのと
一人づつデータファイルを1000個つくるのではどちらが負担は少ないのでしょうか?
なおデータへの書き込みは頻繁に行われます
できれば一覧表示も行いたいと思います
0509名無しさん@お腹いっぱい。
2001/08/21(火) 06:24ID:???Benchmarkモジュール使って自分で計ってみたら?
0510名無しさん@お腹いっぱい。
2001/08/22(水) 01:09ID:GFNp99PM0511名無しさん@お腹いっぱい。
2001/08/22(水) 01:42ID:???意味が分からない
0512名無しさん@お腹いっぱい。
2001/08/22(水) 03:37ID:AkElayo6に替えファイルをクリックしたところdos画面がでて
直ぐにdos画面が消えました、まだ調整が必要でしょうか
それとも他にインストールするソフトでもあるのでしょうか?
0513512
2001/08/22(水) 03:40ID:AkElayo6やっぱApacheをインストールしないと駄目なのかなぁ?
0514名無しさん@お腹いっぱい。
2001/08/22(水) 03:47ID:???CGIはWebサーバーから起動するからCGIなのです。
perl(スクリプト)だけを利用するときには、DOS窓から使ってください。
0515名無しさん@お腹いっぱい。
2001/08/22(水) 05:06ID:pmuXIvEYアパッチインストールしらC:\*****\*****.***になって機能しない
から注意書き見たらこんな事書いてるのです。でも意味が分りません。。
(注意)以下のテストで、ファイルのダウンロードになってしまう場合は、
エクスプローラのファイルタイプの設定で、MSDOSバッチファイルの
MIMEタイプを text/plain にしてください。
バッチファイルってこれの事かなぁ
C:\PROGRA~1\NETWOR~1\MCAFEE~1\SCANPM.EXE C:\ /boot
@IF ERRORLEVEL 1 PAUSE
@ECHO OFF
PATH=C:\NECUTILS\HDPREP
loadhigh c:\windows\COMMAND\nlsfunc.exe c:\windows\country.sys
PATH=%PATH%;"d:\Program Files\Mts"
SET PATH=c:\PERL\BIN;"%PATH%"
0516出来た
2001/08/22(水) 05:54ID:29hOJqFsBATを表示するには、「ファイルタイプ」の「新規」で「ファイルの拡張子」にbatと入力し、「詳細」をクリックすると、一時的にbatの内容がリストに追加され、内容の確認ができるようになる。しかしbatを絶対に編集してはいけない。終了は「キャンセル」を使う。
batのMIMEをtext/plainに変更するにはレジストリを編集する。レジストリの編集はかなりの危険が伴うので、よく理解していない限り、編集してはいけない。
1.「スタート」「ファイル名を指定して実行」で「regedit」と入力。
2.\HKEY_CLASS_ROOT\*\.bat を選択。
3.右クリックで「新規」「文字列」、Content Type と大文字小文字を一時一句たがえずに入力。ContentとTypeの間は半角スペース。OK。
4.画面の右側で、今新しく作成されたContent Typeを選択し、text/plain と入力。(他のWindowsのように、引用符は付けないこと。"text/plain"と書くのは駄目)
0517名無しさん@お腹いっぱい。
2001/08/22(水) 06:17ID:LG5r0RZMファイルクリックすると***.plファイルが一瞬開いて閉じるだけ
perlは大丈夫だと思うけど、apacheの設定がおかしいのかなぁ
0518名無しさん@お腹いっぱい。
2001/08/22(水) 06:18ID:???0519517
2001/08/22(水) 06:52ID:YOZd9AOcperl ***.plはしたけど結局どうしたら
クリックでhttpサーバになるのですか?
0520名無しさん@お腹いっぱい。
2001/08/22(水) 06:58ID:???あんた全然分かってないよ。位置から説明なんてめんどくさいから
http://www.google.com/search?hl=ja&safe=off&q=iis+cgi+perl&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0521名無しさん@お腹いっぱい。
2001/08/22(水) 08:02ID:IsndpGHsDOSを非表示にする、方法はないでしょうか。
パールで、ツールを作って、ファイラーから、実行
したいのですが、一瞬、表示される、DOS窓が、邪魔で・・・。
0522名無しさん@お腹いっぱい。
2001/08/22(水) 08:15ID:???通常の2倍時間をかけて瞬きしろ
0523名無しさん@お腹いっぱい。
2001/08/22(水) 08:30ID:???それは、ちょっと・・・です。
補足ですが、実行する際は、
jperl (スクリプトのフルパス) file1 file2
あるいは、
command.com /c jperl (スクリプトのフルパス) file1 file2
と設定に書いて、キーに割り当てて、使ってるんですけど・・・。
0524名無しさん@お腹いっぱい。
2001/08/22(水) 09:24ID:???Perlのソースといじって再コンパイルするとか。
具体的にどうすればいいかは全く知らん。
0525名無しさん@お腹いっぱい。
2001/08/22(水) 12:05ID:tFrHOLK6サーバー立ててブラウザから実行する。
0526真夏の名無しさん
2001/08/22(水) 12:08ID:???欲しいのはこれかな?
http://www.vector.co.jp/soft/win95/util/se094812.html
0527521
2001/08/22(水) 12:37ID:???・・・私にも、難しいです。
>>525
それができるだけの金と部屋のスペースが欲しいです。
>>526
違うようです。
今、現在動いてるDOSに対して、そのプログラムを、
起動させて、表示、非表示を選択できますが、
新しく開いて、すぐ閉じるDOS窓に対しては、
できないようです。
0529名無しさん@お腹いっぱい。
2001/08/22(水) 12:46ID:???0530525
2001/08/22(水) 12:55ID:tFrHOLK6AN HTTPなんてただだし、Win9*、Win2kどっちにも入れれる。
かつすげー簡単に入れれる。CGIの勉強にもなるし適当じゃない?
0531521
2001/08/22(水) 13:34ID:???ごめん。自分は、パール・スクリプトを
ファイラーの機能追加に使ってみたい。
あるボタンを押したら、マークしたファイルの文字コードを
いっきに変えるとかです。
525でおしえてもらった方法だと、
それには、少なくともサーバーソフト起動させて、
さらに、プラウザを起動させなくてはならないいんじゃ?
だから、それは、ちょっとです。
CGIに興味はありますが・・・。
528のレスは、>>522じゃなくて>>524です。
0532名無しさん@お腹いっぱい。
2001/08/22(水) 14:30ID:???良く解らんけど、pl2batみたいのでpl2exeみたいのがあったんじゃ無い
かな。初心者スレとかに色んなツールがあるよ
0533名無しさん@お腹いっぱい。
2001/08/22(水) 23:45ID:lHmfRQBoスクリプト自体をbatファイルにしてpifで最小化に設定すれば良いのでは?
ただしwin9Xの場合だけどね・・・
0534533
2001/08/22(水) 23:57ID:UjaPBszMperl -x %0
goto end
#!/usr/local/bin/perl
$f1 = $ENV{'F1'};
print "$f1 が指定されました。";
__END__
:end
0535名無しさん@お腹いっぱい。
2001/08/23(木) 00:08ID:???nkf使えば?
0536521
2001/08/23(木) 00:33ID:???pl2batでスクリプトをbatファイル化して、
プロパティで最小化設定したあと、関連づけ実行して
みましたが、だめでした。プロパティ変更した際、
自動生成されたpifファイルにも、試しましたが同じでした。
>>533
どうもです。
pl2exe気になります。
いろいろ、関連サイト探しまわってみます。
>>535
やりたいのは、文字コードの変換だけではないんです。
htmlファイルにマークしてリンクの抜き出しとか、
いろいろです。
レスしてくれたひと、ありがとうございました。
0537名無しさん@お腹いっぱい。
2001/08/23(木) 00:55ID:???http://www.indigostar.com/perl2exe.htm
DOSプロンプトが出るかどうかは不明。
0538名無しさん@お腹いっぱい。
2001/08/23(木) 01:08ID:???-gui
を付ければDOS窓出ない
0539532
2001/08/23(木) 01:39ID:fZO15JoQ試しに僕も使ってみます。
ありがとう、>>537-538
0540名無しさん@お腹いっぱい。
2001/08/23(木) 02:16ID:Kp4CzHHk>読みました、全く同じです。
>perl ***.plはしたけど結局どうしたら
>クリックでhttpサーバになるのですか?
誰か教えてもらえませんか?
0541540
2001/08/23(木) 02:18ID:Kp4CzHHk0542名無しさん@お腹いっぱい。
2001/08/23(木) 02:29ID:???何故誰も答えないかというと、あまりに基本が分かっていないから。
せめてHello worldくらいは出来るようになってから出なおしな。
0543540
2001/08/23(木) 02:33ID:04DpFLUMして表示はしました。
0544540
2001/08/23(木) 02:44ID:04DpFLUMでもperlインストールの時するにしてないのかなぁ
基本ってなんでしょうか
0545名無しさん@お腹いっぱい。
2001/08/23(木) 02:44ID:???>>543
何が解らないの?、HTTPD入れて普通のHTML表示してみた?
CGIなんてHTTPヘッダ吐くだけなんだから、取り合えず
コマンドラインで簡単なコード書いてみれ
その聞き方じゃ何処まで行っても上手く行かないと思うぞ
0546521
2001/08/23(木) 02:48ID:???評価版(?)らしく、ちっこいダイアログが、
表示されるけど、すっごい役に立ちます。
テキストにスクリプトで処理させると、高速で、
実行してくれます。
DOSで使っても、リダイレクションできるし。
ありがとうがざいました。
0547名無しさん@お腹いっぱい。
2001/08/23(木) 02:49ID:???同感
質問一つでそいつの天井みえるよな。
0549540
2001/08/23(木) 02:58ID:04DpFLUMウインドウズ上から*.plをダブルクリックでもHTMLを吐き出すだけ
なのです。。
0550540
2001/08/23(木) 03:02ID:04DpFLUM0551540
2001/08/23(木) 03:07ID:04DpFLUMhttp://127.0.0.1/readme.htmlじゃなくちゃいけないの?
0552名無しさん@お腹いっぱい。
2001/08/23(木) 03:14ID:???http://loopback/index.html
って入れて表示出来る所まで設定すれ
ここ行って書いてる事全部よんでみ
んで出来たら
http://loopback/hoge.cgi ##超簡単なコード
これを動かす。
あと質問するなら環境書けてば、OSもhttpdもperl実行環境も解らん
のに答えられないって
一応言っとくと普通cgiファイルをダブルクリックして勝手にブラウザが
起動して実行結果が出てくるような設定にはならない、つかWINでは出来ない
WINのファイルタイプ2つ設定出来るなら別だけど
0553名無しさん@お腹いっぱい。
2001/08/23(木) 03:14ID:???闇雲に試行錯誤するより、それなりのドキュメントを一読してくださいよ。
とりあえずhttpdはまともに動いてるの?
*.plの中身はどんなよ?
>>514 >>542 >>545のレス読んだ?
cgiて何の略か知ってる?
0554名無しさん@お腹いっぱい。
2001/08/23(木) 03:16ID:???http://www.st.rim.or.jp/~nakata/
他にもHTTPサーバー 自宅 とかで検索すればボロボロ出てくるから
0555名無しさん@お腹いっぱい。
2001/08/23(木) 03:22ID:???それはともかく、540さんよ
sage進行でいかんか?
結構邪魔だよ。
0556540
2001/08/23(木) 03:25ID:04DpFLUM一応そこでhttpの設定はしました。
それ以外はさっぱり分りませんが適当にいじって思考錯誤する
しかないのかな
>>553
*plはウェブサーバー上で機能しています。
0557名無しさん@お腹いっぱい。
2001/08/23(木) 03:28ID:???>*plはウェブサーバー上で機能しています。
・・・キミって何歳?
興味あります。
0558540
2001/08/23(木) 03:33ID:04DpFLUM0559名無しさん@お腹いっぱい。
2001/08/23(木) 03:36ID:???つーかsageで行ってくれよ。頼むから。
0560名無しさん@お腹いっぱい。
2001/08/23(木) 03:38ID:???0561名無しさん@お腹いっぱい。
2001/08/23(木) 03:38ID:???一行カキコになるんじゃ?
http://127.0.0.*/index.htmlと
C:\apache\index.html
は表示してる内容は同じでもそのプロセスは全然違う、
悪い事言わないからHTMLからやれって、絶対パスでリンク貼って
飛べる様になってからにしろ
0562名無しさん@お腹いっぱい。
2001/08/23(木) 03:51ID:???ここはやさしいよ。
なれあってるけど。
レベルもいまいちだけどやさしいよ。
やさしいよ。
0563あああ
2001/08/23(木) 03:53ID:???+---/cgi-bin./
| |---counter.cgi
|
+---/aaa/
|---index.shtml
この場合index.shtmlからSSIでcounter.cgiを動かすには
どう記述すればいいの?
ディレクトリって戻れるの?
0564名無しさん@お腹いっぱい。
2001/08/23(木) 03:56ID:???>>563
../cgi-bin/counter.cgi で良い?
ああー PERLの質問が〜〜
0565あああ
2001/08/23(木) 04:02ID:???<!--#exec cmd="./cgi-bin/counter.cgi" -->
こんな風に書くみたいなんだけど最初の
ドットは2個連続でいいの?出来なかったんだけど…
0566521
2001/08/23(木) 04:02ID:???でも、役立ちそうだし製品版かってみようかな。
でも、クレジットカードか・・・。
なんか、ながれ、邪魔してすみません。
0567名無しさん@お腹いっぱい。
2001/08/23(木) 04:10ID:???じゃ絶対パスで、
>ドットは2個連続でいいの?出来なかったんだけど…
この辺でPC初心者板気味の話になりつつあるね
0568名無しさん
2001/08/23(木) 04:15ID:???これで誰かが切れちゃうと不毛な争いになるんだよなあ
頑張れ>答えてる人 ヽ(´ー`)ノ
0569ANT
2001/08/23(木) 04:18ID:???2個連続でいいよ。↓こんな感じ
<!--#exec cmd="../cgi-bin/counter.cgi"-->
ドット2個で「一つ戻る」ってノリです
0570あああ
2001/08/23(木) 04:29ID:???ドット2個で出来ませんでした。
これ以上聞くと初心者すぎてどっか逝けとか
googleで検索しろって言われるので自力で頑張ります。
>>567>>569 ヒントありがとう
0571名無しさん@お腹いっぱい。
2001/08/23(木) 05:03ID:???0572名無しさん@お腹いっぱい。
2001/08/23(木) 05:26ID:???どうしたらよいのでしょう?
0573名無しさん@お腹いっぱい。
2001/08/23(木) 05:41ID:???0574572
2001/08/23(木) 05:45ID:???レス早くてびっくりしました。
CGIでSJIS以外受け付けないようにすればいいんですね。
調べてみます。
ありがとうございます。
0575名無しさん@お腹いっぱい。
2001/08/23(木) 06:08ID:???俺はEUC-JPの方がお勧めだけど。
jcode sjis 変換 ってキーワードで検索してみてくれ。
0576540
2001/08/23(木) 06:45ID:???検索してしらべましたし、その通りやったのですが
未だに表示しません、こんなに大変なんですか?
っていうか殆どの人は直ぐに問題なく表示されているようですが。。
これって初級ネット向きの質問かな何処に投稿すればいいんだろ、、
それに普通一回設定したら気にも留めなくなるんだろうけど。。
0577名無しさん@お腹いっぱい。
2001/08/23(木) 07:01ID:???ちょっと、質問したいんですけど、結局どのhttpdをお使いなんですか?
0578540
2001/08/23(木) 07:07ID:???>悪い事言わないからHTMLからやれって、絶対パスでリンク貼って
>飛べる様になってからにしろ
少し真面目に調べたのですが此れと如何関係があるのかなぁ
3年前にHP立ち上げたのですが、なんか重要なことが記憶から飛んだのかなぁ
0579名無しさん@お腹いっぱい。
2001/08/23(木) 07:15ID:???これって結構割り切った良い仕様だと思うんだけど。
まぁ、それが嫌なら要はログで複数のコードを混ぜ込ませず一つに統一すればEUCでもSJISでもいいわけだから。
jcode.plのjcode::h2z系を使わない。
jcode::trで全角と半角を置換しない。
jcode::convertの第三引数にzを指定しない。
EUCとSJIS半角カナの区別がつかないほど短い場合もあるので、
getcodeで区別がつかなかったらSJISと決め付けて第二引数に明示的に指定する。
(convertが内部で読んでるgetcodeで区別がつかないと変換しないから)
これぐらいでどうでしょう?
あと、基本だけどJISにはしないこと。
0580名無しさん@お腹いっぱい。
2001/08/23(木) 07:28ID:???以下WINにAN入れてPERLは入ってるとして勝手に書く
ANを解凍して実行
http://127.0.0.1/readme.html
が表示出来たら(これが出なかったらおかしい、PC壊れてます)
ANのオプション→一般 でCGIとか全部チェック w
print "Content-type: text/html\n\ntest";
これをroot直下のcgi-binフォルダにtest.cgiとかで保存
http://127.0.0.1/cgi-bin/test.cgi にアクセス
出来ればもう一台PC買って下さいな、それが一番早いと思いますよ。
0581名無しさん@お腹いっぱい。
2001/08/23(木) 07:33ID:???404とか言ってくれれば説明も出来るのにねー
0582名無しさん@お腹いっぱい。
2001/08/23(木) 07:48ID:???0583名無しさん@お腹いっぱい。
2001/08/23(木) 07:55ID:???0584名無しさん@お腹いっぱい。
2001/08/23(木) 07:58ID:???0585名無しさん@お腹いっぱい。
2001/08/23(木) 07:59ID:???0586580
2001/08/23(木) 08:05ID:???多分仮想ディレクトリとか、ループバック辺りが解ってないと思ったんだ。
だから2台繋いでやれば後の方の問題は関係無くなると思った。
>>583
そんなことココで聞くなー!!(;´Д`)
DOSはCPMってOSのパクリでCPMでは/はコマンドと引数の区切り文字だった
それが途中からディレクトリサポートする様になって仕方なくアホなMSは
バックスラッシュをスラッシュの代わりにした
ところが事もあろうかJISコード策定したオッサン達はバックスラッシュを
消してここに\を入れちゃった訳 その後バックスラッシュはどんどん
エスケープキャラクタになっちゃったりしたから、こんな事になった
0587名無しさん@お腹いっぱい。
2001/08/23(木) 08:13ID:???0588540
2001/08/23(木) 09:18ID:???>以下WINにAN入れてPERLは入ってるとして勝手に書く
>ANを解凍して実行
>http://127.0.0.1/readme.html
>が表示出来たら(これが出なかったらおかしい、PC壊れてます)
>ANのオプション→一般 でCGIとか全部チェック w
>print "Content-type: text/html\n\ntest";
>これをroot直下のcgi-binフォルダにtest.cgiとかで保存
>http://127.0.0.1/cgi-bin/test.cgi にアクセス
何度もやりました、ちょっとした勘違いかとも思い
設定も替えながら幾つか試しました。でも結果は同じ404エラーです。
しつこく訊いたのは自分のPCだけの問題かと認識したかったのです
しかし、みなさんにはご迷惑かけました
ここで自分の固有の問題だと確信しました、っていうかしか
しかありません。
で一つ固有の環境として糞ザクソンネットレコーダーをいれている
のですが、以前物凄い使い勝手の悪さにアンインストールをした
のですがファイルが壊れているらしくアンインストール出来なかった
のでそのままにしているので、主犯はこいつと睨みました。
同じ境遇の人いますか?って居ないよね。
今から強引にアンインストールを実行します、それでAN(HTTPD)
動いたらザクソンのソフトは2度と買いません!
0589名無しさん@お腹いっぱい。
2001/08/23(木) 09:45ID:???もしかしてその何タラネットがローカルプロクシとか後omitronとか
入っててトンでも無い所探しに行ってんじゃないだろね
IEの接続オプションの詳細で「このアドレスにはプロクシを使わない」
とか有るからそこに127ほにゃ って入れてみ
0590名無しさん@お腹いっぱい。
2001/08/23(木) 09:48ID:???もしかしてLAN組んで、127ほにゃ でアクセスしてるのか!??
0591名無しさん@お腹いっぱい。
2001/08/23(木) 09:57ID:???大変な事になって参りました (・∀・)
ここの住民は何だかんだ文句言いながらすげえ親切だと思うよ俺は、うん
0592名無しさん@お腹いっぱい。
2001/08/23(木) 11:38ID:???C:\www にインストールしているとして、オプションのドキュメントルートは C:\www 。
これは何も変えてなければデフォルトで大丈夫だ。
次に、
オプション/一般 → バーチャルホスト → バーチャルホストを使う、
オプション/一般 → 一般 → HTTPサーバ機能、
オプション/一般 → 一般 → バーチャルホスト、
これらにチェックを入れる。
んで、とりあえず http://127.0.0.1/readme.html にアクセス。
…これで何も表示されなかったら俺には何もアドバイス出来ない。
あぁ、そういえば http://127.0.0.1/ にアクセスした時はどうなる?
0593名無しさん@お腹いっぱい。
2001/08/23(木) 12:05ID:???結局ANのファイル全部見えてないんじゃんか (呆
それでcgiが動かないってreadmeもFAQも読んで無いからだって
もう一回一から見直しなよ
0594名無しさん@お腹いっぱい。
2001/08/23(木) 15:05ID:R1XxEp52よくここではkentのスクリプトは糞とか重いとか書かれていますが
どこらへんが糞で重いのでしょうか?
1つここで学んだことはログから出力するときは
open (IN,"$logfile");
@log = <IN>;
foreach (@log) {
}
ではなく
open (IN,"$logfile");
foreach (<IN>) {
}
の方がサーバーへの負荷が少ないということです。
他にもkentのここは駄目だ。こうした方が軽くなるということがあったら教えてください。
kentの真似ごとから一皮むけたいのです。
0595名無しさん@お腹いっぱい。
2001/08/23(木) 15:17ID:???> foreach (<IN>) {
> }
Afo?
まぁ前者より僅かながら早いかもしれんが…。
とりあえず貴方はまだKENTに真似事でもしていてください。
0596sage
2001/08/23(木) 15:29ID:5IP6et1kこれを表示するときには頭の0を削除したいのです。
例) 0001 -> 1
0053 -> 53
$value = '0001';
$value =~ s/^(000|00|0)//;
もっとエレガントな方法ないですか?
0597名無しさん@お腹いっぱい。
2001/08/23(木) 15:35ID:lw4Nr9lIあんたアホか?
万単位になったときははるかに前者より効率良いぞ。
たいした知識も無いくせに煽るな。糞が。だったら実例出してみな。
0598名無しさん@お腹いっぱい。
2001/08/23(木) 15:47ID:???$v =~ s/^0*//;
0599596
2001/08/23(木) 15:53ID:5IP6et1kおお!なるほど。
こういうときに*つかうんですね。+でもいけそうですね。
どうもです。
0601名無しさん@お腹いっぱい。
2001/08/23(木) 15:58ID:???$value = $value+0;
■ このスレッドは過去ログ倉庫に格納されています