トップページ⇒php
1001コメント304KB

【Perl】初心者コーナー Part14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/18 16:34ID:jemWJhH3
いらっしゃーい、Perlの「コーディング」で困ってる人のスレです。

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あたりを見よう。
0268nobodyさん02/07/23 22:24ID:???
localhost
0269nobodyさん02/07/23 22:35ID:hYANtpdN
>>267
http://www.kent-web.com/www/index.html
0270nobodyさん02/07/23 22:43ID:???
>>269
ネタマルチは放置しませう
0271nobodyさん02/07/23 22:58ID:???
掲示板で1度書き込みした後、更新する度にその書き込みが書き込まれていく原因として何が考えられます?
お願いします。
0272nobodyさん02/07/23 23:02ID:???
>>271
激しく仕様。
0273nobodyさん02/07/23 23:24ID:dbl+1Fdv
>>271
bbs.cgi?name=giko&msg=itteyoshi
こんなのがリロードされたら連続書き込みになっちまうだろ。
書き込みを受け取ったら、
Location: bbs.cgi
で飛ばすがよろし。
0274nobodyさん02/07/23 23:44ID:???
>>273
thanks
初心者にとっての頼みの綱であるこのスレを守っていってください。
さよなら。
0275nobodyさん02/07/23 23:52ID:???
>>274
ナイス他人任せ。
0276nobodyさん02/07/24 04:06ID:???
LWPの使い方についてです。。
ちょっと自分で調べてみて、

use strict;
use LWP::Simple;

print get('http://www.2ch.net/');

とすると、そのページが表示される、というところまで調べられました。
そのページのHTMLソースを1行ずつ配列に入れていきたいんですけど、
どうすればできるんですか?よろしくお願いします。
0277nobodyさん02/07/24 04:39ID:???
ふぁ〜あ、暇だなや。。。
0278nobodyさん02/07/24 04:58ID:???
>>276
use strict;
use LWP::Simple;

my @foo = split( /(?:(?:\r)?\n)+/, get( 'http://www.2ch.net' ) );

ちなみにその質問は「LWPの使い方」とは違いますね。 ;)
0279nobodyさん02/07/24 05:06ID:???
>>278
ありがとうございます。
やってみたら、正常に動きました。
0280m02/07/24 05:47ID:rNnlw0cu
http://js-web.cside.com/index.html
0281nobodyさん02/07/24 06:00ID:???
なんで my 宣言しなきゃいけないんですか?
外すとエラーになります。。
my宣言は都合でしたくないんですけど解決策はありますか?
0282nobodyさん02/07/24 06:16ID:???
>>281
なんでしたくないの?

使わない時もあるけど、そっちのほうが例外で普通はmyを使わない
スクリプトってのは酷いコードになるよ。
0283nobodyさん02/07/24 06:26ID:???
>>281
use strict;を外せば?
0284nobodyさん02/07/24 09:48ID:???
>>282

perl使ってる時点でstrict通そうがコード酷いのはいなめないと思うが。。。
つーか綺麗さより使い勝手って割切られてる言語なんだし。。。
0285nobodyさん02/07/24 09:51ID:???
csvを使ったデータベース顧客一覧CGIを作ったんですが、
Netscape4.7以前のバージョンで表示されないんです。
IEだと表示されたんですが・・。

Javascriptが原因かと思ったんですが消してみてもダメでした。
ちなみにソースを見るとちゃんと顧客一覧が表示されているんです。
ソースにはあるのに、どうしてブラウザには表示されないんでしょう・・。
0286nobodyさん02/07/24 09:57ID:???
>>285
lintにでも書けてみ?なんか間違いあるんだよ。
0287nobodyさん02/07/24 11:06ID:???
>>285
Perlのコーディングうんぬんじゃなくて、HTMLの間違いなんじゃないの?
tableのタグの閉じ忘れとかさ、、、
028828502/07/24 11:06ID:???
>>286
単純にタグの閉じ忘れでした。
Perlが原因では無かったです。
逝ってきます・・・・・・・・
0289nobodyさん02/07/24 12:03ID:???
タグを閉じ忘れても表示するIE。
まともなHTMLを厨が書かなくなるわけだ。
0290nobodyさん02/07/24 12:12ID:???
>>284
Perl使ってるからしょうがないなんて言い訳にすぎない。
どんな言語を使ったって同じ。
0291nobodyさん02/07/24 12:31ID:???
>>290
構造化言語とシェルスクリプトに無理矢理構造化を組み込んだ言語。
オブジェクト指向言語とシェルスクリプトに無理矢理オブジェクト指向を組み込んだ無理矢理構造化を埋め込んだ言語。

ノイズはどんどん増幅されている。
0292nobodyさん02/07/24 13:05ID:???
はいはいそうだねー。きっとコンパイラーにお守りしてもらえば
いいコードかけるのねー。
0293nobodyさん02/07/24 13:07ID:???
>>292
うん。便利。
まぁ、あの無駄に多いライブラリ覚えてる奴とかすごいと思うけどな。
0294nobodyさん02/07/24 14:35ID:???
>>293
おめでとう。自己満足できればそれでいいと思うよ。
0295nobodyさん02/07/24 14:39ID:???
>>294
がんばってね。
0296nobodyさん02/07/24 14:47ID:???
>>295
言いたいことがあるなら、メール欄に書いても伝わらないYO!
0297nobodyさん02/07/24 14:48ID:???
>>296
なかなかおもしろいだろ?w
0298nobodyさん02/07/24 14:51ID:???
>>297
どこがおもしろいかわからんかったよ。おもしろい部分を説明してくれ。
0299nobodyさん02/07/24 15:14ID:izWyFOGV
UNIX板から来ました。
http://uptime.netcraft.com/up/graph

ここにあるような、URLを指定してそのサーバーの
HTTPヘッダ情報を取ってくるようなスクリプトを作成したいと考えています。

自鯖の情報は取れるようになったのですが、SERVER_SOFTWARE、
イメージとしては
1.URL入力
2.そのURL(鯖)に対して自鯖のCGIをリクエストしてよってお願い
3.向こうの鯖の環境変数get
てなカンジかなぁ、と思っています。

つまりまぁ、上記URLのようなことができればこんな面倒なやり方じゃなくてもいいのですが。
何かよいお知恵をお貸しください。
0300コギャル&中高生H大好き02/07/24 15:16ID:nUYA8H9H
http://go.iclub.to/ddiooc/
     
     i/j/ez/対応です

お役立ちリンク集
必ず役立ちます

 サイト管理者お役立ち集
    1日4000HIT以上
↓
http://kado7.ug.to/wowo/
      
     i/j/ez/対応
    
   コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便

         ↓
   http://kado7.ug.to/wowo/-a.htm
    
       i/j/ez/対応
0301nobodyさん02/07/24 15:31ID:e324b2xP
意味をちょっととりかねる。
そのサーバのHTTPヘッダ情報をとるのになんで向こうのサーバが自サーバのCGIを
リクエストする必要があんの?
0302nobodyさん02/07/24 15:36ID:???
Socket使って、HTTPでGETなりPOSTなりすればいいだろ。
0303nobodyさん02/07/24 16:04ID:???
以下のコードで、2つ目のprintが実行されません。
なぜでしょうか?

my $a = "!";
print "Test1" if $a =~ /!/g;
print "Test2" if $a =~ /!/g;
0304nobodyさん02/07/24 16:13ID:e324b2xP
gを付けない。あと$aという変数は特殊な意味をもつので普通避けるべき。
0305nobodyさん02/07/24 16:18ID:???
>>304
動きました!
有難うございます。
0306nobodyさん02/07/24 16:19ID:izWyFOGV
>>301
確かに自分でもよく整理できてませんでした。(汗

>>302
今調べたらsokectのサンプルソースがあったので、
これを頼りにがんがってみます

ありがとうございました。
0307てすた02/07/24 17:48ID:IOzuRKcl
http://isweb39.infoseek.co.jp/play/kouza_k/jump.cgi?http://2ch.net
ニダー
0308てすた02/07/24 17:49ID:IOzuRKcl
http://isweb39.infoseek.co.jp/play/kouza_k/cgi-bin/jump.cgi?http://2ch.net
ウツ。。
0309てすた02/07/24 17:50ID:IOzuRKcl
>>308をコピしてくり。たのむ
0310nobodyさん02/07/24 17:50ID:???
>308
iswebはCGIの外部呼出し不可。
0311てすた02/07/24 17:52ID:IOzuRKcl
>>310
シテマシターーヨ ヽ(TーT)ノ
0312初心者02/07/24 18:16ID:???
CGIファイルにアクセスするとIEでは、正常に表示されるのに
ネスケではHTMLソースで表示されてしまいます。
ネスケの全バージョンでダメでした。
Content-typeとか<HTML><BODY>等は問題なく入ってるんですが・・
0313nobodyさん02/07/24 18:17ID:???
>>312
信用できません。
0314nobodyさん02/07/24 18:19ID:???
ヘッダーの部分見せてみろ。
0315初心者02/07/24 18:21ID:???
>>313
本当です。

Perl内は
print "Content-Type : text/html\n\n";
        ・
        ・
print "<HTML><HEAD><TITLE>投票結果</TITLE><META HTTP-EQUIV=\"PRAGMA\" CONTENT=\"NO-CACHE\">\n";
print "<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'></HEAD>\n";
print "<BODY BGCOLOR=#000000 TEXT=#FFFFFF>\n";
        ・
        ・
print int($count) ;
print "</table></div></BODY></HTML>";

となっています。
0316nobodyさん02/07/24 18:22ID:???
>>315
lintにかける。
0317nobodyさん02/07/24 18:29ID:???
>>312
サーバはどこ?
逆なら考えられるんだけどな・・・トクトクとかで。
0318nobodyさん02/07/24 18:31ID:???
>315
自分で初心者を名乗る奴は基本的に信用できん。

print "Content-Type: text/html\r\n\r\n";

にしてみろ。
0319初心者02/07/24 18:31ID:???
>>316
lintかけてみました。
ドキュメント宣言やHTML lang="ja"を入れてみたんですけど
やっぱりダメです。
ネスケでHTMLソースがダラダラと表示されてしまいます。
0320nobodyさん02/07/24 18:32ID:???
>>319
そもそもスクリプト中にHTMLまるまる入れるのは何とかできんのかと。

編集、デバッグ、保守

すべてが大変だが。
0321初心者02/07/24 18:33ID:???
>>318
オオオオ!!!
バッチリ逝きました!!!
ありがとうございます!!!

ローカルでは\n\nでうまく行ってたのに
ミクストメディアではこんなの必要なのか・・・・・
0322初心者02/07/24 18:34ID:???
>>320
HTML外部にしたら動作重くなるから。
0323nobodyさん02/07/24 18:42ID:???
>>318
それってWindows以外で受け取っても大丈夫?
0324nobodyさん02/07/24 18:45ID:???
>>323
>>318が正しいから問題ない。
IEが悪い。
0325nobodyさん02/07/24 18:50ID:???
>>323
HTTP敵にはそっちが大正解。
0326nobodyさん02/07/24 19:28ID:???
Perlについての質問箱
http://pc3.2ch.net/test/read.cgi/tech/1017736187/
: ◆JAPH9PWA はもうそこからでんな!
みてて悲しくなったぜ。
0327nobodyさん02/07/24 19:39ID:???
Perlで日本語を使うときはEUC-jp。
0328nobodyさん02/07/24 19:41ID:???
>>327
偏見?
0329nobodyさん02/07/24 19:48ID:???
表\示
0330nobodyさん02/07/24 20:07ID:???
>>328
普通だろ。
日本語マッチとかするときに。
0331nobodyさん02/07/24 20:13ID:???
確かにEUC-JPの方がいい。
漏れはShift-Jisで使い続けてしまったせいでとても変更してられないと思い変えてないが。
これから始める人はEUC-JPにしておいた方がいいぞ。
0332nobodyさん02/07/24 20:16ID:???
正しくは Shift_JIS と言ってみるテスト。
0333nobodyさん02/07/24 20:21ID:???
>332
スマヌ
0334nobodyさん02/07/24 20:40ID:???
>>282-284
ありがとうございます
いろいろと参考にさせてもらいます
0335nobodyさん02/07/24 20:51ID:???
>>326 いい加減やめろ。
0336nobodyさん02/07/24 21:35ID:???
今掲示板をつくっていてログを読みこんで表示させるところまでは出来たのですが
よくある設定されている件数を超えると自動で「次の10件」などというアンカーを出すには
どういった処理をすればよいのでしょうか?
0337nobodyさん02/07/24 21:36ID:???
>>336
//ボタンを表示するか決定
//引数:ページ
//返値:無し
function checkbuttonvisible($page)
{
//ファイル開く
if(file_exists($this->config->datafile))
{
$fdat = file($this->config->datafile);
$count = count($fdat);
}

//戻るボタンの制御
if($page <= 0)
$this->beforebuttonvisible = false;

//進むボタンの制御
if($count - ($page * $this->config->rescount) <= $this->config->rescount)
$this->nextbuttonvisible = false;
}


PHPだがね。
0338nobodyさん02/07/24 21:51ID:OQVd1xfT
KENTさんのYY-BBSで半角カナが使えるようにするには
どこをどうすればよいのでしょうか?お願いします。
0339nobodyさん02/07/24 21:53ID:???
>>338
スクリプト言語の一つもまともに使えないくせによくほざく。
0340nobodyさん02/07/24 22:03ID:???
質問するみんな。
>>1は読んでるか?
0341nobodyさん02/07/24 22:04ID:???
>>340
マルチポストするなと言うのも入れてほしい・・・。
0342nobodyさん02/07/25 00:20ID:???
>>340
コテハンは荒れる元なので自粛ってのもいれてほしぃ。
0343nobodyさん02/07/25 01:08ID:???
まさに、コテハン叩きの思うつぼだな。
0344nobodyさん02/07/25 01:29ID:EsugPjEd
>>338
デコードのとこで
jcode.pl使ってる箇所をコメントアウトしてみ
0345nobodyさん02/07/25 02:08ID:/52BoRCi
perlで質問です。実行すると例えばユーザー名、パスワードを入力し、送信してくれる
プログラムが作りたいんですけど、どんなライブラリ、関数を使えばよいでしょうか?
キーワードだけでも教えていただけないでしょうか?お願いします。
0346nobodyさん02/07/25 02:17ID:???
>>345
頭の中で言いたいこと整理してからもう一度来い。
>ユーザー名、パスワードを入力し、送信してくれる
意味がわからん。何のユーザー名、パスワード。何処に送信?
0347nobodyさん02/07/25 03:03ID:???
scrachって何の事なんでしょうか?マジレスおなぎします。
0348nobodyさん02/07/25 03:06ID:GntP6rBS
from scratch=ゼロから, 初めから.
0349nobodyさん02/07/25 03:14ID:???
サンスコ。
0350nobodyさん02/07/25 03:14ID:???
http://pc.2ch.net/test/read.cgi/php/1014096840/161
0351http://www.geocities.co.jp02/07/25 06:29ID:1xMT6UXy
どなたか、Geocitiesの広告のはずし方をご存じませんか?
0352nobodyさん02/07/25 06:50ID:???
>>351 >>1を読め。

それにしても、このスレッドも堕ちたな...。
0353nobodyさん02/07/25 07:35ID:???
>>337

perlしかわからないのですが・・

0354nobodyさん02/07/25 07:45ID:???
>>353
そんなに大きな違いがあるのか?
0355nobodyさん02/07/25 08:33ID:???
>>351

if $351 == aho {
$351 = itteyoshi;
}
0356nobodyさん02/07/25 08:35ID:???
>>355
動かんぞ?それ。
0357nobodyさん02/07/25 12:08ID:???
if ($_351 == "aho") {
$_351 = "itteyoshi";
}
035835702/07/25 12:09ID:???
if ($_351 eq "aho") {
$_351 = "itteyoshi";
}
0359nobodyさん02/07/25 12:26ID:???
>>354

関数が違うので分かりません
0360nobodyさん02/07/25 13:19ID:???
renameとunlinkを使いたいのですがうまくいきません。
rename (aaa.txt, bbb.txt);
でやると実行権限がないとエラーが出ます。念のためaaa.txtのパーミッションを777に
したんですけどダメでした。
unlinkは unlink aaa.txt; とやるのですがファイルが無いとエラーが出ますなんででしょう。
0361nobodyさん02/07/25 13:32ID:???
>>360
パーミッション777のファイルがリネームもアンリンクもできないということは、
ファイルシステムが壊れています。OSを再インストールしましょう。
0362nobodyさん02/07/25 13:34ID:???
OSというのは、サーバーのOSが壊れてるって事ですか?
たぶんそれはないと思うんですけど。
0363nobodyさん02/07/25 13:34ID:???
ディレクトリのオーナー、パーミッションはどうなってんのよ
0364nobodyさん02/07/25 13:35ID:???
>>362
起こっている現象から推測すればそういうことになります。
0365nobodyさん02/07/25 13:57ID:???
http://cgi.tripod.co.jp/hello_baby/cgi-bin/aiueo.cgi
中身
#!/usr/bin/perl
require 'jcode.pl';
rename aaa.txt bbb.txt;
print "Content-type: text/html\n\n";# HTML文出力宣言
print "エラー:$!";

何がダメなのかさっぱりわからないです。ちなみにここはパーミッションとかは関係ないみたいです。
0366nobodyさん02/07/25 13:59ID:???
http://members.tripod.co.jp/hello_baby/aaa.txt
0367nobodyさん02/07/25 14:07ID:av9ITDXM
aaa.txt, bbb.txt
じゃないの?
■ このスレッドは過去ログ倉庫に格納されています