Perl コーディング初心者質問コーナー Part28

このエントリーをはてなブックマークに追加
952nobodyさん:03/10/14 23:45 ID:???
>>951
とりあえず、use strict; をお勧めします。
953nobodyさん:03/10/14 23:48 ID:???
>>944
<!DOCTYPE ~
<p></p>
入れようよー(泪)
954nobodyさん:03/10/15 03:59 ID:???
全然関係ないツッコミだな
955nobodyさん:03/10/15 10:49 ID:???
>>950
コードに問題はないし、モジュールに制限はない
何秒くらいかかる?タイムアウトの可能性はあるかな
あとはクオータとかtmpのサイズとかって、、、30kしか容量ないというのもあれだな・・・
956nobodyさん:03/10/15 14:15 ID:???
open(DAT, "aaa") or die("Can not open file : ($!)");
#binmode(DAT); # Win ならば行頭のコメントを外す。
@datadata = <DAT>;
close(DAT);

ファイル終了コードを取り込んで while が無限ループしているような悪寒。(憶測)
957nobodyさん:03/10/15 14:39 ID:???
>939
Cとか埋め込まれてたりするモジュールあるの?
958nobodyさん:03/10/15 15:32 ID:???
>>957
普通にあるでしょ。lib/perl5の下の.soファイル探してみればわかる
959nobodyさん:03/10/15 20:11 ID:???
>>957
標準モジュールとかはほとんどそうなんじゃないの?
960nobodyさん:03/10/15 20:18 ID:???
.soぅなんですかぁ・・・
961nobodyさん:03/10/15 21:26 ID:gKX0QkEj
http://zurubon.strange-x.com/source.cgi
こんなアップローダでHTML書き出しができるやつがあったのですが、どこで配布してるかご存知ないでしょうか?
962nobodyさん:03/10/15 21:28 ID:???
スレ違いみたいかな?
963nobodyさん:03/10/15 21:29 ID:???
スレ違いだと思ったので違うスレで質問させていただきました。
ご迷惑おかけしてすいませんでした
964nobodyさん:03/10/15 21:35 ID:Ts29J0vM
こんな可愛い子が・・・
http://www.nukix.net/index2.html
965nobodyさん:03/10/15 23:25 ID:???
>>957
Storableモジュールは有名だね。
高速化のために肝の部分をCで作ってるって。
966nobodyさん: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にした方が良いのですか?
967nobodyさん:03/10/16 01:06 ID:???
>>966
ノートンバカが HTTP_REFERER を斬っているから。
968nobodyさん:03/10/16 01:08 ID:???

&error("不正な日本語です");
969nobodyさん:03/10/16 01:14 ID:Fo3ziY9D
C-Board掲示板(Ver354)のstyle\bse.txtに $page{'info'} という
部分があるのですが、これは関数(サブルーチン)ですか?
Perlの紹介ページなんかではサブルーチンは「 ( ) 」らしいの
ですが・・・
970nobodyさん:03/10/16 01:15 ID:???
971966:03/10/16 01:19 ID:h2L2XbQW
>>967
サンクス
972969:03/10/16 01:20 ID:???
>>970
なるほど、配列ですか。Perlでは定義以外にも{}使うんですね
973950/951:03/10/16 01:37 ID:???
>>952,955,956さん、ありがとうございました。
ご指摘を参考に、もう少し試してみます。

974nobodyさん:03/10/16 04:09 ID:???
>>969
まずは、C-BoardをDeleteする事をお勧めする。
975nobodyさん: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_

としたんですが、何も表示されません。
どうすればちゃんと表示されるのでしょうか?
976nobodyさん:03/10/16 08:19 ID:???
>>975
print "HUA:[$ENV{'HTTP_USER_AGENT'}]\n";
977975:03/10/16 08:42 ID:vV+88U+f
>>976
それだと書き込み者じゃなくてアクセス中の自分のUserAgentが
表示されるだけになりませんか?って私のやり方がおかしいのかな
978nobodyさん:03/10/16 09:06 ID:???
>>975
ちゃんとログに$user書き込んでるかどうか確認しる。
藻前の書いてるのは>>976と同じことだぞ。
979975:03/10/16 09:46 ID:vV+88U+f
>>978
おおーできました。基本的なことに気付いていなかったようで。
>>976さんと合わせて、ありがとうございました。
980nobodyさん:03/10/16 12:40 ID:c+B+rkqG
$a = 'test';

上記の変数aの中身の'test'を展開して、$testといったような変数を作りたいのですが、
可能でしょうか?
981nobodyさん:03/10/16 12:55 ID:???
可能です
982980:03/10/16 13:05 ID:c+B+rkqG
>>981
ありがとうございました。
983nobodyさん: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桁程度の数字のみが表示されるのですが…
どうしたらまともに表示できるのでしょう?
ご存知の方よろしくおねがいします;
984nobodyさん:03/10/16 13:22 ID:???
>>983
print $ENV{'QUERY_STRING'};
985nobodyさん:03/10/16 13:22 ID:???
配列の頭二つを取り除くのに

shift @array;
shift @array;

と二回やってるんですが、これを一回で纏めてやる方法ってありますか?
986983:03/10/16 13:32 ID:sHNsaMy8
>>984
うーん。何も表示されないです…
987nobodyさん:03/10/16 13:39 ID:???
>>985
spliceで簡単にできるよ。
988nobodyさん:03/10/16 13:40 ID:???
>>983
漏れも昔よくやったよ

$buffer =~ s/
989983:03/10/16 13:43 ID:sHNsaMy8
すみません、表示された4294967295という数字が…
JSのエラーらしいです。調べてみます。
984さんありがとうございました(^^;
990nobodyさん:03/10/16 14:30 ID:???
上手く質問できないんですが、
人間の目で読めない文字(コンピュータ文字?)を取り除く
正規表現とかって可能ですか?
例えば、バイナリファイルをそのままテキストで書き出したとき、
とかに化けて表示される部分だけを取り除きたいんですが・・・。
991nobodyさん:03/10/16 14:50 ID:mXGYJHOc
http://ari-sin3.hp.infoseek.co.jp/arisin5.html
ここのアップローダなんだけど一日にUPできる量を設定したいのですができないのでしょうか?
992nobodyさん:03/10/16 14:59 ID:???
>>990
化けて表示される文字だって人間が読める文字だろうが
993nobodyさん:03/10/16 15:00 ID:???
>>991
【 スクリプト改造工房 PART 7 】
http://pc2.2ch.net/test/read.cgi/php/1063780103/
994nobodyさん:03/10/16 15:11 ID:???
>987
デキターと言う事でどもでした。
995nobodyさん:03/10/16 15:32 ID:???
>>992
( ・∀・)つ〃∩ ヘェ~ヘェ~ヘェ~ヘェ~ヘェ~
996nobodyさん:03/10/16 15:53 ID:???
次スレ用意しました

Perl コーディング初心者質問コーナー Part29
http://pc2.2ch.net/test/read.cgi/php/1066286828/
997nobodyさん:03/10/16 16:00 ID:???
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
998980:03/10/16 16:13 ID:c+B+rkqG
2
999980:03/10/16 16:16 ID:c+B+rkqG
銀河鉄道
1000980:03/10/16 16:17 ID:c+B+rkqG
1000だ場かども
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。