Perl コーディング初心者質問コーナー Part28
>>951 とりあえず、use strict; をお勧めします。
>>944 <!DOCTYPE ~
<p></p>
入れようよー(泪)
全然関係ないツッコミだな
>>950 コードに問題はないし、モジュールに制限はない
何秒くらいかかる?タイムアウトの可能性はあるかな
あとはクオータとかtmpのサイズとかって、、、30kしか容量ないというのもあれだな・・・
open(DAT, "aaa") or die("Can not open file : ($!)");
#binmode(DAT); # Win ならば行頭のコメントを外す。
@datadata = <DAT>;
close(DAT);
ファイル終了コードを取り込んで while が無限ループしているような悪寒。(憶測)
>939
Cとか埋め込まれてたりするモジュールあるの?
>>957 普通にあるでしょ。lib/perl5の下の.soファイル探してみればわかる
>>957 標準モジュールとかはほとんどそうなんじゃないの?
.soぅなんですかぁ・・・
961 :
nobodyさん:03/10/15 21:26 ID:gKX0QkEj
スレ違いみたいかな?
スレ違いだと思ったので違うスレで質問させていただきました。
ご迷惑おかけしてすいませんでした
964 :
nobodyさん:03/10/15 21:35 ID:Ts29J0vM
>>957 Storableモジュールは有名だね。
高速化のために肝の部分をCで作ってるって。
966 :
nobodyさん:03/10/16 00:52 ID:h2L2XbQW
if ($base_url) {
$ref = $ENV{'HTTP_REFERER'};
$ref =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($ref !~ /$base_url/i) { &error("不正なアクセスです"); }
}
質問です。
一部の方が投稿出来ないと言われ
a-zA-Z0-9にした方が良いのですか?
>>966 ノートンバカが HTTP_REFERER を斬っているから。
&error("不正な日本語です");
969 :
nobodyさん:03/10/16 01:14 ID:Fo3ziY9D
C-Board掲示板(Ver354)のstyle\bse.txtに $page{'info'} という
部分があるのですが、これは関数(サブルーチン)ですか?
Perlの紹介ページなんかではサブルーチンは「 ( ) 」らしいの
ですが・・・
971 :
966:03/10/16 01:19 ID:h2L2XbQW
972 :
969:03/10/16 01:20 ID:???
>>970 なるほど、配列ですか。Perlでは定義以外にも{}使うんですね
>>952,955,956さん、ありがとうございました。
ご指摘を参考に、もう少し試してみます。
>>969 まずは、C-BoardをDeleteする事をお勧めする。
975 :
nobodyさん:03/10/16 07:07 ID:vV+88U+f
掲示板で、書き込み者のユーザエージェントを表示したいのですが、
my(@user) = split(/\//,$ENV{'HTTP_USER_AGENT'}); とか
$user = $ENV{'HTTP_USER_AGENT'}; とか記述して、
別のサブルーチン内で$userを表示するために
print<<"_EOM_";
$user
_EOM_
としたんですが、何も表示されません。
どうすればちゃんと表示されるのでしょうか?
>>975 print "HUA:[$ENV{'HTTP_USER_AGENT'}]\n";
977 :
975:03/10/16 08:42 ID:vV+88U+f
>>976 それだと書き込み者じゃなくてアクセス中の自分のUserAgentが
表示されるだけになりませんか?って私のやり方がおかしいのかな
>>975 ちゃんとログに$user書き込んでるかどうか確認しる。
藻前の書いてるのは
>>976と同じことだぞ。
979 :
975:03/10/16 09:46 ID:vV+88U+f
>>978 おおーできました。基本的なことに気付いていなかったようで。
>>976さんと合わせて、ありがとうございました。
980 :
nobodyさん:03/10/16 12:40 ID:c+B+rkqG
$a = 'test';
上記の変数aの中身の'test'を展開して、$testといったような変数を作りたいのですが、
可能でしょうか?
可能です
982 :
980:03/10/16 13:05 ID:c+B+rkqG
983 :
nobodyさん:03/10/16 13:05 ID:sHNsaMy8
純粋にPerlの質問か微妙ですが…。
JavaScriptのdocument.reffererで取得したリンク元を、
CGIに送ってプレーンテキストとして表示したいのです。
↓htmlに貼り付けたJSはこちら
<SCRIPT Language="JavaScript">
<!--
document.write("<img src='
http://www〜〜〜cgi?");
document.write(document.referrer+"' width=1 height=1>");
// -->
</SCRIPT>
↓CGIはこちらです。
#!/usr/bin/perl
#---データ受け取り
$buffer = $ENV{'QUERY_STRING'};
$buffer = ~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$buffer = ~ s/<([^>]|\n)*>//g;
#---出力
print "Content-type:text/plain\n\n";
print "$buffer\n";
実行すると8桁程度の数字のみが表示されるのですが…
どうしたらまともに表示できるのでしょう?
ご存知の方よろしくおねがいします;
>>983 print $ENV{'QUERY_STRING'};
配列の頭二つを取り除くのに
shift @array;
shift @array;
と二回やってるんですが、これを一回で纏めてやる方法ってありますか?
986 :
983:03/10/16 13:32 ID:sHNsaMy8
>>983 漏れも昔よくやったよ
$buffer =~ s/
989 :
983:03/10/16 13:43 ID:sHNsaMy8
すみません、表示された4294967295という数字が…
JSのエラーらしいです。調べてみます。
984さんありがとうございました(^^;
上手く質問できないんですが、
人間の目で読めない文字(コンピュータ文字?)を取り除く
正規表現とかって可能ですか?
例えば、バイナリファイルをそのままテキストで書き出したとき、
とかに化けて表示される部分だけを取り除きたいんですが・・・。
991 :
nobodyさん:03/10/16 14:50 ID:mXGYJHOc
>>990 化けて表示される文字だって人間が読める文字だろうが
>987
デキターと言う事でどもでした。
>>992 ( ・∀・)つ〃∩ ヘェ~ヘェ~ヘェ~ヘェ~ヘェ~
HTML::Templateをインストールしようと思い
perl -MCPAN -e "install HTML::Template"
とやったのですがC:\.cpan\build\HTML-Template-2.6\に展開されるだけで
インストール出来ませんでした。
その後perl\site\libに展開されたファイルを置いてもuse出来ず、
仕方ないので以前聞いたようにHTML::Templateを
使いたいPerlスクリプトと同じディレクトリに置いてみたのですがやっぱり使えずと困っています。
どうすればインストールできるのでしょうか…。
Win2K; Apache1.3.27; ActivePerl5.6.1
998 :
980:03/10/16 16:13 ID:c+B+rkqG
2
999 :
980:03/10/16 16:16 ID:c+B+rkqG
銀河鉄道
1000 :
980:03/10/16 16:17 ID:c+B+rkqG
1000だ場かども
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。