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

【Perl】初心者コーナーPart10

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。02/02/24 22:18ID:zOj6Yq/3
いらっしゃーい、Perlのコーディングで困ってる人のスレです。

1:自分はこう言う事がしたい。
2:それでこんな風にやってみたが・・・
3:それだとこんなエラーが出て上手く行かなかった。

1と3が無いと誰も答えられないよ、良い回答は良い質問から。
一緒に勉強しましょう。

参考書籍はこちら【【Perl,CGI】参考書籍 第2版 】
http://pc.2ch.net/test/read.cgi/php/988809842/
CGIの質問はこちら【CGIだけど、なんか質問ある?part5】
http://pc.2ch.net/test/read.cgi/php/1009331505/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般】
http://pc.2ch.net/test/read.cgi/php/991313362/

過去ログ、その他の役立ち情報は>>2-10を見よう。
0855nobodyさん02/03/21 23:56ID:???
>>854
それだ!
0856nobodyさん02/03/21 23:57ID:???
>>851
こんなんじゃダメ?
>>(\d+)(-\d*)?
0857nobodyさん02/03/21 23:58ID:CC60PDt4
Perlで、C++の"ifstream f()"のようにファイルを読みこむ方法を教えてください。
0858nobodyおっさん02/03/22 00:00ID:???
>851
ヒットするんじゃないの?
>>1- は >>1 と同じとみなすんじゃダメかい?
0859nobodyさん02/03/22 00:01ID:???
>>857
ファイルをオープンしたあと、ファイルハンドル使いなさい。
0860nobodyさん02/03/22 00:27ID:???
ありがと。
ファイルハンドルで索引を見たら書いてあった。
0861123402/03/22 01:33ID:PNDxe/pL
>>858
>>1-は>>1以降のもの全部という意味になるらしいですここ
086283902/03/22 02:05ID:???
いろいろ調べてみました。
テストではうまく動いてる気もするんですが、これでよろしいのでしょうか。


use LWP::Simple;
($content_type, $document_length, $modified_time, $expires, $server) = head "http://www.aaa.ne.jp/test.html";
($sec, $min, $hour, $day, $mon, $year) = localtime($modified_time);
$year += 1900;
$mon ++;
print "$year/$mon/$day/$hour";
0863nobodyさん02/03/22 02:49ID:???
>>839
それでおけ。
問題はHEADでちゃんと更新時刻を取得できないサイトが多いこと。
086483902/03/22 03:18ID:???
>>863
はい、その通りでした・・・・。
更新時刻が取得できないサイトがいくつかありました。
私のLWPの使い方が間違ってるのでしょうか。
それとももっと良い方法があるのでしょうか。今一度、探してみます。
またヒントを与えてもらえれば幸いです。
0865nobodyさん02/03/22 03:32ID:???
>>864
(貴方のマシンがWinなら)WWCとかWWDとかのメジャーな更新チェッカ落として
みると参考になると思うよ。ヘッダも表示されるし。
0866nobodyおっさん02/03/22 08:23ID:???
>861
こんな感じかい?

$_= '>>1-100';
if ( />>(\d+)((-)(\d*))?/ ){
 if    ( $4 ){ print "$1$2"; }  # >>n-n
 elsif ( $3 ){ print "$1$3"; }  # >>n-
 else        { print "$1"  ; }  # >>n
}
0867nobodyさん02/03/22 08:35ID:???
.htaccessや.htpasswdファイルって直接url指定されても
見られないようにする方法ってどうするんですか?

0868nobodyさん02/03/22 08:38ID:???
>>869
相手サーバの問題。
更新時刻がとれなかったら長さや内容を前回チェックのと比べるとか。
いくつかのサーバは更新時刻いいかげんに返すので
そのあたりは試行錯誤で。

>867
それらのファイルにアクセス制限をかける。
近ごろの apacheは標準でそういう設定になってる。
086986702/03/22 08:46ID:???
>>868
そーなんですか!
ちなみに私はan httpd使用してるんですけど
これでの方法はないですかね?
0870出来の悪い子02/03/22 08:54ID:???
なんだか、質問の仕方が悪くて皆さんに迷惑をかけてしまったようです
申し訳ありません m(_ _)m

とりあえず実験してみて
>>774さんのやり方で大丈夫でした

= じゃなくて! ってことですね
もっと頭を解して考えるようにします。

ありがとうございました。

 

0871nobodyさん02/03/22 09:49ID:???
>>866
なぜprintするのかわからないのだけれど,それは効率悪いんじゃないか?

↓こうできるよ.
/>>(\d+(?:-\d*)?)/ and print $1;
0872nobodyおっさん02/03/22 10:28ID:???
>871
print してるのは、だた結果が正しいかを確認するため。
確かに、後読みだとコンパクトにまとめて書けるのでよりいいと思います。
ただし、やりたいコーディングが
>>n
>>n-
>>n-n
の3パターンへのリンクを張るだけならいいのですが、もしかしたら
>n- の場合など、nが1なら100までとかに制御する余地を残す意味で敢えて
わけているだけです。
0873nobodyおっさん02/03/22 10:48ID:???
補足:
1つにまとめるなら以下のようによりコンパクトにも書けます。
/>>(\d+(-\d*)?)/
0874縞栗鼠(シマリス)の親方02/03/22 10:54ID:pJ6rZ2it
吉祥寺にある大検・大学受験予備校の中央高等学院
ここは、完全に狂ってる。
授業料は一年分一括前払いなので、
金が入れば、生徒は要らない
金を振り込んだら、何とかその生徒を辞めさせようと
講師どもが、あの手、この手でイヤガラセをしてきますね。
セクハラはもちろん、脈絡の無い罵倒は日常茶飯だね。
酒臭い講師もいるし・・・ 人生の最果て中央高等学院
学歴詐称、経歴詐称、合格実績詐称、デタラメ授業、
http://www.chuo-school.ac/
http://chs-f.com/index.html 中央高等学院福岡校
司法浪人の田中校長は ↑ また司法試験に落ちましたが
HP上では下らない見栄を張っています
087583902/03/22 12:08ID:???
>>869
長さっていうのはファイルサイズのことでしょうか。
そんなこともできるんですか・・・。
LWPモジュールについてもう少し勉強してみます。
0876nobodyさん02/03/22 12:22ID:???
>873
おっさんおっさん、いくらコンパクトでも効率的には>871のほうが上だぞ。
つーか(?:regexp)はNon-capturing groupingsだろ。何でここで後読みなんだよ(w

学生はperldocでも読んで勉強しとけ。
0877nobodyさん02/03/22 12:26ID:???
>>875
長さってのは、
use LWP::Simple;
$content = get ("http://www.2ch.net/");
$length = length($content);
と言うことだと思う。868じゃないから知らんけど。
0878nobodyさん02/03/22 17:23ID:2hKQObXw
質問です。
いま、仕事で掲示板の修正をやってるんですが、
特殊文字を削れってんで、メッセージに対して、

$value =~ s/&/&/g;
$value =~ s/\"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\|/¦/g;
$value =~ s/\[/[/g;
$value =~ s/\]/]/g;
$value =~ s/\\/¥/g;

みたいなことをやってます。
そしたら、
「申し込み」が「・yen;し込み」みたいな感じで思いっきり化けちゃいます。
どうすれば文字化けしないで、特殊文字の変換ができますか?
0879nobodyさん02/03/22 17:26ID:2hKQObXw
変換されてしまった。

$value =~ s/&/&amp;/g;
$value =~ s/\"/&quot;/g;
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
$value =~ s/\|/&#166;/g;
$value =~ s/\[/&#91;/g;
$value =~ s/\]/&#93;/g;
$value =~ s/\\/&yen;/g;

こっちが正しいです。
ちなみに「&」は実際は半角文字です。
0880nobodyさん02/03/22 17:31ID:???
意味のない変換の多いこと・・・
Shift-JISだったらモロ化けるね。
上の4つだけで十分。
どうしても変換したいならEUCにすれば?
0881nobodyさん02/03/22 17:35ID:2hKQObXw
>>880

え?意味ないんですか?
某雑誌にこれらの特殊文字は削るか置換しろ!
って書いてあるんですよ。
で、その通りにしてほしいってことで、修正依頼が来たんですよ・・・。
088286802/03/22 17:36ID:???
>>875
ごめんレス番間違えてたね。
>>862で $document_lengthに長さが入ってるみたいなので
それも見たらどうかってこと。
0883nobodyさん02/03/22 17:37ID:???
>>879
変換結果に「yen」って出てるので分かるかと思うけど、
「申」のSJIS2バイト目が「\」なのです。
なので、2バイト文字をうまく扱ってくれる jperl を使うってのが、
とりあえずよいのではないかと。
0884nobodyさん02/03/22 17:38ID:???
Shift-JISの2バイト目に\x40-\x7Eも使われているので、
(もしShift-JISだったら)漢字の一部が変換されてることになる。
わかりますか?
0885nobodyさん02/03/22 17:39ID:???
そんなことより制御文字削除してないんちゃうんかと・・・(以下略)
0886nobodyさん02/03/22 17:42ID:2hKQObXw
>>883
環境を変えるのはきびしいです。

>>884
意味はわかります。
それでは、文字コードがSJISならばどうしようもないってことですかね?
880さんが言ってるみたいに、とりあえずEUCに変換しとけってことですか?
0887nobodyさん02/03/22 17:45ID:???
>>885
制御文字?
0x0〜0x19 ぐらいのやつ?
特殊文字の変換とかって、どのくらいのことやるのが普通なんですか?
ここ見ろ! ってとことかあります?
0888nobodyさん02/03/22 17:46ID:???
IBM的なバカ変換だな・・・ボソ
088987802/03/22 17:53ID:???
とりあえず、文字コードをEUCに変換して処理してみます。
0890nobodyさん02/03/22 17:54ID:???
>>881
某雑誌の名前教えてください。なんかその雑誌読んでみたい。
089187802/03/22 18:03ID:???
nikkei オープンシステム 2001/12 P118 からの特集です。
0892nobodyさん02/03/22 18:11ID:???
>>891
Thank you.
0893nobodyさん02/03/22 19:10ID:???
すいません、掲示板などを作る時、ユーザに変数の内容を
決めて貰い後で参照しますが、その際「定義されていない or
空か無効」と「正常」を区別するスマートなやり方ありませんか?

# ユーザの設定
package user;
$file = 'bbs.cgi';

# プログラム
package main;
my $file = (defined($user::file) && $user::file)
 ? $user::file : 'bbs.cgi';

これだと何度も $user::file をタイプしないといけないので
なんか無駄に文が長くなってしまうような気がします。
なんとなく perl -w で文句を言われるのも嫌なので
my $file = $user::file || 'bbs.cgi';
のような記述も避けたいのですが・・・・。
0894nobodyさん02/03/22 19:18ID:???
>>881
話し終わってしまったみたいですが、エスケープする文字は
キチンと用途別に考えた方が良い場合もあると思いますよ。

そのまま or HTML として出力する場合や、コマンドの引数 or
ファイル名として使用する場合などです。
釈迦に説法ならすんまそん。
0895nobodyさん02/03/22 22:18ID:???
>893
何度もタイプするのが嫌なのと perl -w で文句言われるのが嫌なのは相反する
ことなのでどちらかにせざるを得ないのでは?
それとも以下のようにしてみる?恐らくよけい嫌だとは思うが・・・・

my $user_file='user::file';
my $file = $$user_file || 'bbs.cgi';
089689502/03/22 22:45ID:???
もう1つあった。
変数 $file をいっそのこと使わないで
my $user_file= 'user::file';
$$user_file ||= 'bbs.cgi';
0897nobodyさん02/03/22 23:14ID:???
>>893
ユーザ定義の変数をインポートする部分を

no warnings;
my $file = (defined($user::file) && $user::file)
 ? $user::file : 'bbs.cgi';
....
use warnings;

面倒は嫌いだ。(w
089883902/03/22 23:15ID:???
>>877
>use LWP::Simple;
>$content = get ("http://www.2ch.net/");
>$length = length($content);
では全く応答なしです。

>>882
$document_lengthは空でした。ナニも入っていませんでした。


私がやろうとしていることは不可能なことなんですかね・・・。
0899nobodyさん02/03/22 23:19ID:???
>>898
2ちゃんのサーバはagentみて蹴っているかも知れない。
090083902/03/22 23:20ID:???
>>899
いえ、実際はジオの友人のアドレスを入れてました。
失礼しました。
0901nobodyさん02/03/22 23:35ID:???
>>900
ジオもagent見て蹴っているかも知れない。
わかるだろ?
0902nobodyさん02/03/22 23:37ID:???
Agentていうか、REQUEST-HEADERね。正式名称知らないけど。

画像置き場とかに使ってくれるな機能があったんじゃない?>ジオ
その関係とかはどうなの?
090383902/03/22 23:40ID:???
>>901 >>902
agent・・・REQUEST-HEADER・・・・すみません、どちらもわかりません。
ただ、901さんの言い方からすると、なにか解決法があるということですね。
探してみます! ヒントありがとうございます!
0904ヤクザ02/03/22 23:51ID:???
>>895-897
ひぃぃぃ・・・・すいませんでした。面倒でも普通に書きます (笑い

いや、自分は本を買わず web で勉強していますので、
入門サイトには中々紹介されない $file |= 'hoge'; みたいな
独特の方法なんかあるのかなぁ・・・とか思ったのですよ。

記述&凡ミスを避ける為の出力に振り回されるのも情けないですね。
飽く迄デバッグ用のメッセージと割り切って -w と付き合う事にします。
有難う御座いますた。
090583902/03/23 01:02ID:???
use LWP::UserAgent から入ればいいんでしょうか
とりあえずなんとか上辺だけでもそれっぽくなるように
いろいろ探してます。
もし間違ってたら、申し訳ありませんが、教えてください。
別のソレっぽいのを探しに行きますから。
0906IKeJI02/03/23 05:56ID:5i8LX5eB
質問。
Perlで、$aに'ー'という文字を含むSJIS文字列が入っているときに、
$a =~ /$b/
という文を実行すると落ちるのですがなぜでしょう?
0907nobodyさん02/03/23 06:14ID:???
>906
エラーメッセージとかは無いの?
あと環境も書いて。
0908nobodyさん02/03/23 06:43ID:???
>>906
$bに'ー'が入っている場合だよね?
SJISの2byte文字の2バイト目は'@'から'~'まで使われてしまうので、
'['などが問題を起こしがち。
応急処置としては\Qと\Eで囲むことかな。(詳しくはPerlメモを参照)

[\Q]これ以降に続くすべての非英数文字の前に逆スラッシュを挿入
[\E]\Q,\U,\Lの効果を終了する
0909nobodyさん02/03/23 06:53ID:???
>905
geocitiesは User-Agent見てないみたい。
use LWP::Simple;
getprint 'http://www.geocities.co.jp/';
だけでできたのでなにか別の所に問題があるんじゃないかな?
プロクシ通さないとインターネットにアクセスできない環境からやってるとか。
0910IKeJI02/03/23 08:19ID:iMj9R1av
>>907
CGIで使っています、FreeBSDなど色々なサーバーで同じような症状が出ています。

>>908
ありがとうございました。
解決しました。
0911nobodyさん02/03/23 08:57ID:???
>>904
すまん、中身間違えた。

no warnings;
my $file = $user::file || 'bbs.cgi';
....
use warnings;
これで逝けるだろ。
0912nobodyさん02/03/23 10:18ID:???
画像アプローダを作るためのスクリプトってありますか?
0913nobodyさん02/03/23 10:21ID:???
>>912
ここは自分でスクリプトを組む人が質問に来るスレですよん。
>>1-10あたりの関連スレをどうぞ。
0914nobodyさん02/03/23 10:23ID:???
ずるぼんのヤツでええやろ。
http://zurubon.strange-x.com/uploader/

自作するならモジュールとか公開ライブラリ使え。
0915nobodyさん02/03/23 11:43ID:???
shtmlに埋め込んだ掲示板が書き込んだ後、cgiに移動するんだけど
埋め込みしてあるshtmlの所に戻したいんだけど、どうやるの?
0916nobodyさん02/03/23 12:17ID:???
正規表現のことでお聞きしたいのですが、
ひらがな、カタカナ、半角英字、全角英字は
[ぁ-ん]みたいな感じで、使用できると参考書に書いてあったんですが、
半角数字や全角数字も
[0-9]みたいな感じで使用できるのでしょうか?
0917nobodyさん02/03/23 13:17ID:???
>>915
print "Location: http://ほげほげ.shtml\n\n";

>>916
質問の答え
まず自分で試せ。
いちいち人に聞かなきゃ判らない内容か?

俺の質問
ところでどんな参考書を読んだのですか?
091883902/03/23 15:35ID:???
>>909
特にプロキシが必要な環境ではありません。
use LWP::Simple;
getprint 'http://www.geocities.co.jp/';
で内容は表示されます。
でも私の欲しいのは最終更新日でして、0が返されてしまうのです・・・。
0919nobodyさん02/03/23 17:47ID:???
>>918
telnet www.geocities.co.jp 80
GET / HTTP/1.0
すると、
HTTP/1.1 200 OK
Date: Sat, 23 Mar 2002 08:41:52 GMT
Server: Y.G.Apache-SSLv3/1.3.9
Set-Cookie: Geoche=DX8gxX6cO000tucZycfSdO00ScRoAB; domain=.geocities.co.jp; path=/; expires=Mon, 22-Mar-04 08:41:52 GMT
Connection: close
Content-Type: text/html

<html>(以下略)
と返ってくるので、最終更新日は返さないみたいだね>geocities
0920nobodyさん02/03/23 19:12ID:aOzStk5l
ローカルな環境で、ブラウザのテキストフィールドに文字を入力して、
perlを通して綺麗に整形したHTMLとして出力しようとしています。
入力用のhtmlを整形用スクリプトはできたのですが、その間のデータの受け渡しがうまくいきません。

サーバに自作cgiをアップロードして使用した経験はあるので、同じように

<form method="post" action="c:/zisaku.cgi">
<input type="submit" value="出力">

でデータを渡して、

print <<END
....
END

で表示できるだろうと思っていたのですが、submitボタンを押すとcgiのソースが表示されてしまいます。

無い頭をひねって cgi の一行目に「#!/perl」を付け加えたり、拡張子をcgiではなくplにしてみましたが
うまくいきません。

ActivePerlはインストール済みです。
どなたか解決方法が判る方、ご教授願います。



092183902/03/23 19:14ID:???
>>919
どうも、ありがとうございます。
てことは、最終更新日を得るのは不可能ということですか?
方法としては、前回内容を保存しておいて、今回内容と比較して
更新されているかどうかを得る、という方法が現実なんですかね???
092283902/03/23 19:18ID:???
>>920
自作CGIはローカルにあるんですよね?
私は、httpdを入れてつかってます。
ActivePerlだけでは、920さんと同じくCGIソースが表示されました。
素人なので原因も解決法もわかりませんが、
ムリなことなんだろうな、とおもいます。
0923nobodyさん02/03/23 19:21ID:???
>>920
サーバーソフトウェア入れないとCGIは機能しませんよ。
http://www.st.rim.or.jp/~nakata/
http://www.apache.org/

それと
print <<END;
にしましょう。
0924nobodyさん02/03/23 20:39ID:???
>>922,923
Anhttpedを導入した所うまくいきました。
ありがとうございました。

父親兼社長に、
「某システム社に頼んだら30万で見積もられたって?そんなの簡単だから一万円でやってやるyo!」
って大口叩いていたので、うまくいってほっとしております。
0925nobodyさん02/03/23 21:29ID:bh9fdkhx
バグの効率よい見つけ方を教えてください。
0926nobodyさん02/03/23 21:38ID:???
>>925
すべてのifを通るような条件を試す。
0927nobodyさん02/03/23 21:45ID:???
PerlでSocketで通信するプログラムを作ったんだけど、
LAN内では、問題無く動くのだけど、
外から、だと繋がらない、
思い当たる事無いですか
動いてる環境は、Linuxっす。
0928nobodyさん02/03/23 21:46ID:???
>>927
ファイアウォール。(x)inetd
0929nobodyさん02/03/23 21:52ID:???
>>928
火壁は、IPマスカと、フィルターしかしてないから、
関係なくなかくない?
0930nobodyさん02/03/23 21:55ID:???
アドレスが127.0.0.1のままだったり
0931nobodyさん02/03/23 22:00ID:???
>>930
それは、ないっすよ。
0932nobodyさん02/03/23 22:04ID:???
>>929
>IPマスカと、フィルターしか

これだけやってりゃ十分だ。
0933nobodyさん02/03/23 22:40ID:???
>927
オマエのその価値のないソースを見ないとなんとも言えないZE!
オマエの説明不足からして接続できないのは納得できるZE!
0934nobodyさん02/03/23 23:03ID:???
質問があります

CGIでHTMLを出力するとして
容量80KBのCGIファイル1つで出力するのと
requireで10KBのファイルを呼び出して20KBのCGIファイル(合計すると30KB)で
出力するのとではサーバーの負荷はどちらが軽いのでしょうか??

perlの勉強をはじめたばかりなんですがどうしてもわからなくて・・。
申し訳ないですがどなたか教えて頂けないでしょうか?
093583902/03/23 23:34ID:???
LWPでジオの最終更新日が取れなかったので、
取れない場合は、改行およびタグを外した本文を保存しておき、
次回アクセス時に今回のものと前回のものを比べて更新日を推測する、という
方式を取ることにしました。
>>862でLWPで更新日を取得できなかった場合は、
$doc = get URL;
$doc =~ s/\r\n//g;
$doc =~ s/\n//g;
$doc =~ s/<[^>]+>//g;
としています。
ところが、ジオではないあるページにて、前回と今回の$docが同じにも関わらず、
if(前回$doc ne 今回$doc)
に引っかかってしまうのです。他のサイト(ジオ)では問題ありませんでした。

if(前回$doc ne 今回$doc)という表現に問題があるのでしょうか???
0936nobodyさん02/03/23 23:51ID:???
カウンタが回って数値が違うとかじゃねーの。

なぜ改行とタグ削って保存するのか疑問。
093783902/03/23 23:56ID:???
>>936
カウンタ画像を読みこまないためにタグを削除しました。
ローカルに落として目で確認しましたが、前回$docと今回$docの
内容は同じでした。

ログファイルの中身ですが、サイトごとに<>で区切り、サイトのURLや
最終更新日等を,で区切って保存しています。
open(IN,ログファイル); $log = <IN>; close(IN);
@log = split(/<>/,$log);
foreach $x (@log){・・・・

という感じですが、改行を外すさないとうまく動かないからです。
すみません、たぶん技術がない所為です。
0938nobodyさん02/03/23 23:59ID:???
>934
便器マークとったら?
093983902/03/24 00:02ID:???
追記です。
すみません、2回のアクセスに1度の割合で、
順番に前回と今回の$docが同じでも
if(前回$doc ne 今回$doc)
に反応しているようです。
1アクセス目:反応なし
2アクセス目:LWPで取得できなかったAサイトが反応
3アクセス目:反応なし
4アクセス目:LWPで取得できなかったBサイトが反応(ジオ)
・
・
・
という感じでした。
もしif(前回$doc ne 今回$doc)が悪いのだとしたら、他に良い方法の
ヒントをなんとかよろしくお願いします。
0940nobodyさん02/03/24 00:10ID:???
すいません、STDOUT 等はどうやって宣言するのですか?

#!/usr/local/bin/perl -Tw
use strict;
exit &func(STDOUT);
sub func {
 my $fh = shift;
 print $fh 'hello world.'."\n";
 return 0;
}

% ./sample.pl
Bareword "STDOUT" not allowed while "strict subs" in use at ./sample.pl line 3.
Execution of ./sample.pl aborted due to compilation errors.

なんとなく FAQ っぽいのですが、"use strict;" STDOUT で
ググってもそれらしいのが見つけられませんでした。
しかしこれ系のファイルハンドルは実行時に自動的に発生する筈ですし、
性質上初期化なんてできませんよね?
0941nobodyさん02/03/24 00:17ID:???
*STDOUT, \*STDOUT, *STDOUT{IO}
0942nobodyさん02/03/24 00:18ID:+OOAM91Z
use File::Sort qw(sort_file);
これはどういう意味なのでしょうか?
本を数冊読んだのですが説明がありませんでした…。

sort_file(...);
というふうに関数を使用しているのですが。
0943nobodyさん02/03/24 00:37ID:???
File::Sort.pmのうちsort_fileメソッドだけ使用するという意味です。
094494002/03/24 00:39ID:???
>>941
速攻レス有難う御座います。*STDOUT で上手く行きました。
しかし、それって型グロブってやつですよね?
そうなると、なんか意味として回りくどくなってしまうような
気がしますが、こういう使い方はごく普通なのでしょうか・・・???
094594202/03/24 01:40ID:+OOAM91Z
>>943
レスありがとうございます^^
そうすることでメモリ消費を抑えたりするのでしょうか…。
0946nobodyさん02/03/24 01:42ID:???
>>934
それは、トータルのスクリプト量が小さいほうがDISKアクセス負荷、
CPU負荷、共に軽いんじゃない?つまり、requireしたほうが軽そう。
どうしても知りたいなら、>>938の言うように、なんらかのベンチマーク
を取って、結果報告キボン。

でも、perl自体が起動する負荷に比べれば、
その程度の違いは無いのと同じだと思う。
0947nobodyさん02/03/24 01:45ID:???
>>927
1.そのスクリプトを動かしたマシンにグローバルアドレスがついてない
2.ついてるんだけど、ファイヤーウォールの設定で遮断されてる
3.上記の問題はないんだけど、127.0.0.1 のみをlistenしている。
0948nobodyさん02/03/24 01:48ID:???
>>939
「if(前回$doc ne 今回$doc)」以外の場所にバグがあるとしか
考えられない。
094983902/03/24 02:00ID:???
>>948
そうですか・・・・
それにしても if(前回$doc ne 今回$doc) に問題がないと
いうことがわかり、前進です! ありがとうございます。
とりあえずEUC(?)にして試してみます!
0950nobodyさん02/03/24 02:20ID:???
>>945
実際に検証したわけではないので伝聞ですが読み込みが早いそうです。
今思いつくものでは
use Symbol 'gensym';
use Fcntl qw(:flock);
のようなケース。
0951nobodyさん02/03/24 22:03ID:???
ん?
0952nana.cgi02/03/26 11:46ID:???
#!/usr/binbin/perl -T
no strict;
use Asian::Pussy qw/:sexy :healthy/;
0953nobodyさん02/03/26 12:00ID:pm1MjUop
Perl4で作ったBBSがIE以外で表示できません。
ナゼなのでしょうか。

1.NNの場合、Perlが出力したソースが表示されます。
2.Operaの場合はファイルダウンロードのダイアログが起動します。

IEでは問題ないんですけど
私がアフォだからっていう以外の理由を知りたいです。
お願いします。
0954nobodyさん02/03/26 12:01ID:???
print "Content-type: text/html\n\n";
ってやってるあたりがおかしいから。
レス数が950を超えています。1000を超えると書き込みができなくなります。