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

【Perl】初心者コーナー Part19

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/02/09 00:24ID:s0tpWWxg
初めに→「perl」その物のスレです。

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

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


CGIだけど、なんか質問ある? Part 9
http://pc.2ch.net/test/read.cgi/php/1041530204/
参考書籍の話題は【Perl,CGI】参考書籍 第三版
http://pc.2ch.net/test/read.cgi/php/1030209573/
その他の雑多な話題は、【CGIに依存しないPerlの話題一般/Part2】
http://pc.2ch.net/test/read.cgi/php/1030548610/
スクリプトの改造依頼は 【 スクリプト改造工房 PART 5 】
http://pc.2ch.net/test/read.cgi/php/1028193595/

あとは>>2-10。
0557nobodyさん03/03/04 20:37ID:???
HTMLで開始タグと終了タグが一致しているかどうか調べたい

例えば、<em>mona>/strong>や
終了タグの閉じ忘れでエラーがでる

のですが、具体的にどうすればよいのかさっぱりです。
何がいい方法があれば教えて頂けないでしょうか。
0558nobodyさん03/03/04 20:40ID:???
>>557
validatorにかけてみる。
http://validator.w3.org/
055955703/03/04 20:44ID:???
<em>mona>/strong>でしたね。大して変わらないけど。

>>558
例えば掲示板の投稿時なんかに最低限のチェックをしたいだけなのでvalidatorはちょっとです。
0560T女の竹田03/03/04 20:49ID:???
>>559
タグは全部許可なの?
056157703/03/04 20:58ID:???
また間違えてるし。

>>560さん
タグは属性をもつものや空要素も含めて全て許可しています。
最低限属性を持たないタグの整合性だけでもチェックしたいのですが。
0562nobodyさん03/03/04 21:58ID:???
>>556
ありがとうございました。
方法はわかりましたが、導入難し・・・まだまだ先は遠いようで、いろいろ調べてみます。
0563nobodyさん03/03/04 22:07ID:???
>>561
がんばってスタックでも書いてみたら?
でも、< />な要素が入ると崩壊するか。難しいな。
0564T女の竹田03/03/04 22:13ID:???
>>561
難しいね。
その場しのぎの方法ならそれなりにありそうだけど、それでも
それなりにめんどくさそうだなぁ。
0565validator厨03/03/04 22:15ID:???
投稿時に http://validator.w3.org/ でチェックしろと促す(w
0566nobodyさん03/03/04 22:35ID:???
http://www.din.or.jp/~ohzaki/regex.htm#NoEndTag
0567T女の竹田03/03/04 22:50ID:???
適当に書いてみた(超いいかげん)。
タグの中で'<'や'>'が書けないのは仕様です。

my $temp = $to_check;
$temp =~ s|<!--.+?(-->)||sg;
$temp =~ s{<(script|style).*?(</\1>)}{}sgi;
$temp =~ s{</?(br|p|li|hr|meta|input|img|base)[^>]*>}{}sgi; # 閉じないことを許可するタグ
while ($temp =~ s|<(\w+)[^>]*>[^<>]*(</\1>)||si){}
error() if $temp =~ /[<>]/s;

>>566 気づかなかった。
056856103/03/04 22:53ID:???
>>563さん
取りあえずこんなの書いてみますたが
$data = "<a><b>a</b></a><c /><d></f>";

my(@stack) = ();

while($data =~ /<\/?(\w+)\s*.*?>/){
if($data =~ /<(\w+)>/){
push(@stack,$1);
}elsif($data =~ /<(\w+)\s*\.*?\/>/){
;
}elsif($data =~ /<\/(\w+)>/){
$tmp = pop(@stack);
if($1 ne $tmp){die "不整合";}
}
$data =~ s/<\/?(\w+)\s*.*?>//;
}

print "end\n";

なんかスマートじゃないですね。というかそれ以前に正規表現が怪しい。
属性がつくともうだめぽ

>>565
きっと誰も従いませんよ(w
0569nobodyさん03/03/04 22:55ID:???
>>566,>>567さん
ありがとうございます。これから解読します。
0570T女の竹田03/03/04 23:03ID:???
ちょっと修正。
どっちにしても役に立たなさそうだけど。

$temp =~ s|<!--.+?(-->)||sg;
$temp =~ s{<(script|style|pre|textarea)(\s[^>]*)?>.*?(</\1>)}{}sgi;
$temp =~ s{</?(br|p|li|hr|meta|input|img|base)(\s[^>]*)?>}{}sgi; # 閉じないことを許可するタグ
while ($temp =~ s|<(\w+)(\s[^>]*)?>[^<>]*(</\1>)||si){}
0571nobodyさん03/03/04 23:22ID:TX/Dujet
$str1="20030304" を使って
$str2="2003年03月04日" を生成したいのですが
どうすればよいですか?
0572nobodyさん03/03/04 23:24ID:???
>>571
$date =~ s/^(\d\d\d\d)(\d\d)(\d\d)$/$1\/$2\/$3/;

057356103/03/04 23:24ID:???
初めて見た特殊文字が多かったので解読に手間取りました。
正規表現雑技の方は$(の辺りが今一解読できてませんが。

>>570さん
役に立たないなんてそんな。
\数字は目からウロコでした。さっき書いたコードが恥ずかしいです。
当面の間このコードを借用させて頂きます。ありがとうございました。
0574nobodyさん03/03/04 23:32ID:???
>>571
$str1 =~ s/(\d{4})(\d{2})(\d{2})/$str2 = qq{$1年$2月$3日}/e;
0575nobodyさん03/03/05 01:23ID:???
>>574
それは $str1 の内容も書き換えるので

($str2 = $str1) =~ s/(\d{4})(\d{2})(\d{2})/$1年$2月$3日/;
0576nobodyさん03/03/05 23:48ID:LLn1UqDh
何となく DB というものを使ってみたくなり、Perl で PostgreSQL を扱いたい訳なんですが・・・

ぜんぜん勉強法が見えてきません。“ Perl で”っていう時点で、もう駄目なのかなあ・・・やっぱ PHP なんですかね?

もし宜しければ、オススメのサイトや参考書を教えて頂きたいのですが。
0577nobodyさん03/03/05 23:57ID:???
>>576
DBIとか。
0578nobodyさん03/03/06 00:04ID:/oqmBN82
なるほど。DBI を勉強しろと言うことなのか・・・なるほど。
0579nobodyさん03/03/06 00:09ID:???
自分で作ったモジュールの中からさらにモジュールオブジェクトを作成すると
newでの変数初期化がされない現象が起こるのですが、これはperlの仕様ですか?

↓-------------------- a.pl
package a;
sub new{
my $this=shift;
my $a=0;
my $obj{'obj'=>$a};
bless $obj,$this;
return $obj;}1;
↓--------------------- b.pl
package b;
require('./a.pl');
sub new{
my $this=shift;
my $b=0;
my $obj{'obj'=>$b};
bless $obj,$this;
return $obj;}
sub test{
my $a = new a;
print "a=$$a{'obj'}";}1;
↓--------------------- main.cgi
require('./b.pl');
sub test
{my $b = new b;
$b->test();}
-------------------------------------
結果:a=
(何も表示されない)
0580nobodyさん03/03/06 00:13ID:???
>>576
まずは道具をインストールする。
で、SQLを適当に理解する。
あとは、
connect prepare execute fetch finish disconnect
0581nobodyさん03/03/06 00:13ID:???
仕様=バグとか言うふざけた前提でほざいてると解釈して良いのか?
0582nobodyさん03/03/06 00:14ID:???
>>579
newは「変数初期化」なんて機能じゃないけれど。
0583nobodyさん03/03/06 00:18ID:???
>>579
前置(?)のnewは、コンパイルするときに、それが関数か、
メソッドかを決定しないといけない。
で、newっていうサブルーチンがある(ように見える)から、関数になった。と。

a->new()でどうだ。
058457903/03/06 00:22ID:???
>newは「変数初期化」なんて機能じゃないけれど。
あい、それは承知してます。
newでオブジェクトのメンバを初期化したいという意味でした。
>>579の場合だと、a.plで
$a=0;
・・・
$obj={'obj'=>$a};
としているのに、bから作成したときは$a->{'obj'}に0が入っていないのです。
(0以外でも同様。main.cgiから直接作成した場合は初期化される)
これがバグなのか、仕様なのかどこにも説明してないので設計に困ってます。
058557903/03/06 00:24ID:???
>>583
ありが�dございます。試してみます。
0586nobodyさん03/03/06 00:26ID:???
>>579
http://www.geocities.co.jp/SiliconValley/5634/t82E2_0001.html#1941
http://www.geocities.co.jp/SiliconValley/5634/t82A2_0003.html#2203
0587nobodyさん03/03/06 00:28ID:???
perlobjにWARNINGって大きく書いてあるんだけどなぁ〜
0588nobodyさん03/03/06 00:30ID:???
>>580
どうもです!いろいろやってみるしかないですね・・・
0589nobodyさん03/03/06 01:02ID:???























0590nobodyさん03/03/06 11:24ID:rJoYB8KP
ActivePerlの5.6と5.8って共存できますか?
0591nobodyさん03/03/06 11:26ID:???
>>590
できる。
0592nobodyさん03/03/06 12:35ID:nlUIeg7X
あの…

日本語を交えて変数を作りたいのですが、
「全部」ハッシュにしたらアホでしょうか?

$file{'ログファイル'}
$file{'登録ファイル'}

やっぱ重くなりますか?
アホ丸出しのような気がしますが、この方が作りやすいんです。
0593nobodyさん03/03/06 12:55ID:???
>>592
そういう質問をするレベルならどうせ動かないから好きに作っていいよ。
ただしサーバには上げないでローカルでやってくれな。
0594nobodyさん03/03/06 13:21ID:???
>>592
日本語を使いたいのはわからんでもないですが、
はっきりいってアホです。
0595nobodyさん03/03/06 13:28ID:???
VB使え。
0596nobodyさん03/03/06 14:17ID:???
>>595
VakaBasicでつか?
0597nobodyさん03/03/06 15:09ID:???
>596
そでつ
0598nobodyさん03/03/06 16:25ID:???
$変数 = 1;

Unicodeでなんとかならんか?
0599nobodyさん03/03/06 16:42ID:???
>>592
別にいいんじゃない?
ハッシュの構造上、考えてるほど重くはならないよ。

ただ、他人がそのソースを見たら( ´,_ゝ`)プッ とは思うかも。
0600nobodyさん03/03/06 18:20ID:mX/0qgeV
>>592
そんなあなたにPerlのオブジェクト指向文法!

$this->{field} = 'test';
$this->{公安二課課長補佐} = undef;

主な利点:日本語がちょっとだけ目立たない。
0601nobodyさん03/03/06 18:25ID:???
BSD magazine No.12 P127〜P128 より
> use encoding "euc-jp"; # スクリプトと同じ文字コードを指定
> use utf8;
> my $人 = 1;
> $人++; # 私たちは繁殖している!
060260103/03/06 18:26ID:???
要 Perl 5.8.0 な。
0603nobodyさん03/03/06 19:30ID:???
>>600
それができるのは、キーが\wのとき。日本語の場合は何かでくくらないとだめ
0604nobodyさん03/03/06 20:58ID:+0RpBVtX
すいません、ActivePerl-5.8.0.805-MSWin32-x86にwin32-apiをppmを起動してインストールしようとすると
ppm> install win32-api
Error: no suitable installation target found for package win32-api.
と表示されインストールできませんでした。
ppm>sarch win32-api
ppm> search win32-api
Searching in Active Repositories
1. Win32-API-OutputDebugString [0.03] OutputDebugString Win32 API support
ppm> install 1
Package 1:
Error: no suitable installation target found for package
Win32-API-OutputDebugString.
サーチをかけてインストールしてもパッケージがないと言われます。
また、
no suitable installation target found for package
の一文で検索をかけても英語圏HPしかでてこず、多分どこかにパッケージを
ぶち込んだらOKだと言う解釈なのですがどうにもヘタレ読解力ではキビシイです。
アドバイスお願いできないでしょうか?
0605nobodyさん03/03/06 21:09ID:???
>>604
ありゃ、インストールされた。
日を改めてインストールしてみたら?
0606nobodyさん03/03/06 21:13ID:+0RpBVtX
粘って粘って3日目です(;´д⊂)
0607nobodyさん03/03/06 21:46ID:+0RpBVtX
しまった・・。
環境はXPproでc¥perlにperlをインストールしています。
0608nobodyさん03/03/06 22:41ID:???
  ∋8ノノハ.∩
   川o・-・)ノ <先生!こんなのがありました!
__/ /    /   
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
 ...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/shinagawa/
060959203/03/07 12:00ID:???
>>593-600

分かりました。ありがとうございます。
別に
アホ丸出しだろうが
( ´,_ゝ`)プッと思われても構わないので
今後は全部ハッシュで作ろうと思います。
0610nobodyさん03/03/07 16:16ID:o/kX6MY9
特定のホストからのアクセスのみ通すアクセス制限をしたくて探したのですが、
逆の「特定のホストからのアクセスをはじく」アクセス制限のCGIしか見つけられず
そこで、これを改造したら使えないかなあと考えました。
が、どこをどういじって良いのか見当がつきません。どなたかお知恵を貸してください・・。
@deny = ("*.co.jp","*.hoge.net");

sub get_host {
$host = $ENV{'REMOTE_HOST'};
$addr = $ENV{'REMOTE_ADDR'};
# gethostbyaddr関数を使用する場合は1
$gethostbyaddr = 1;
if ($gethostbyaddr) {
if ($host eq "" || $host eq "$addr") {
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
}
}
if ($host eq "") { $host = $addr; }
}
sub axs {
# ホスト名を取得
&get_host;
if ($deny[0]) {
local($flag)=0;
foreach (@deny) {
if ($_ eq '') { last; }
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { $flag=1; last; }
}
if ($flag) { &error("許可されていないアクセスです") }
}
}
0611nobodyさん03/03/07 16:20ID:???
>>610
.htaccess じゃダメなの?
061261003/03/07 16:20ID:o/kX6MY9
いっそシンプルにこうしたら・・・??
sub axs {
&get_host;
if ($_ ne "@deny"){ &error("許可されていないアクセスです")}
}
061361003/03/07 16:21ID:o/kX6MY9
.htaccessもSSIも使えないです(^^;
0614nobodyさん03/03/07 16:24ID:???
以下のような過去10回のゲームの結果があります。
名前<->点数<->偏差値<-> の様になってます。
これを名前でuniqしたいのですが、賢い方法はあるでしょうか?
一応自分で作ったのですが、マヌケな感じで最後の人が表示されないようです。
識者の方、よろしくお願いします。

--(生データ)---
a<->17<->100<->
a<->20<->68.97<->
a<->20<->68.97<->
a<->27<->87.1<->
b<->27<->87.1<->
c<->13<->41.94<->
c<->14<->87.5<->
c<->22<->75.86<->
c<->22<->75.86<->
c<->8<->47.06<->
d<->14<->82.35<->
d<->14<->87.5<->
d<->25<->86.21<->
d<->25<->86.21<->
d<->31<->100<->
e<->16<->100<->
e<->17<->100<->
e<->27<->93.1<->
--(生データ)---
0615nobodyさん03/03/07 16:26ID:???
>>614 です。
自分で作ったマヌケなプログラムです。

@sortedに生データが入っているとして、

foreach (@sorted){
($s_name,$s_point,$s_rate) = (split(/<->/))[0,1,2];

if($s_name eq $old_name){
$total_p = $s_point + $old_point;
$total_rate = $s_rate + $old_rate;

$old_name = $s_name;
$old_point = $total_p;
$old_rate = $total_rate;
$howmany ++;

}elsif ($s_name ne $old_name){
$average=sprintf('%4.2f', $old_point / $howmany); $average+=0;
$rate_avg=sprintf('%4.2f', $old_rate / $howmany); $rate_avg+=0;
push(@uniq, "$old_name<->$old_point<->$howmany<->$average<->$rate_avg\n");

$old_name = $s_name;
$old_point = $s_point;
$old_rate = $s_rate;
$howmany = 1;
}else{ print "Error!! does not match!!\n";}
}
shift @uniq;
@uniq = reverse sort { (split(/<->/,$a))[3] <=> (split(/<->/,$b))[3] } @uniq;
061661003/03/07 16:33ID:o/kX6MY9
>>612
待った・・・根本的なところが、、、

ごめん、超厨房な質問。
$_ の意味はなんでしょう。$名前 (変数)とは違いますよね。
#手元の入門書には$hogehogeと@hogehogeの説明はあるんだけど$_がない
0617nobodyさん03/03/07 16:36ID:???
>>616
デフォルトで入る変数だよ。
@deny で foreach してるなら、その中の各行が$_に入ってる
061861003/03/07 16:37ID:o/kX6MY9
>>617
そういうことなんですね・・。
ということは>>612はダメじゃん(死)
061961003/03/07 16:39ID:???
あげてしまった・・・。
062061403/03/07 16:43ID:???
これでどう?試してないけど。

それよりおらの質問にも答えてけれ

foreach (@deny) {
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { last; }
}
if ($_ eq '') { $flag=1; last; }
if ($flag) { &error("許可されていないアクセスです") }
}
}
062161403/03/07 16:47ID:???
上のダメだわ。これは?

foreach (@deny) {

$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { last; }
}else{ &error("許可されていないアクセスです") }


}
062261003/03/07 16:50ID:???
>>620
おあ、ありがとう。
今思いついて書き込もうとしたんだけど、おもっきし間違ってたよーです(冷汗)

>それよりおらの質問にも答えてけれ
ごめん・・・わっちには手に余るんだ・・初心者すぎて(苦)
#掲示板カスタマイズくらいしか経験ない。
062361003/03/07 17:03ID:o/kX6MY9
これで大丈夫みたい・・・(エラーは出なかった)
sub axs {
&get_host;
foreach (@deny){
if ($_ eq '') { last; }
$_ =~ s/\*/\.\*/g;
if ($host =~ /$_/) { last; }

if ($_ ne "@deny"){ &error("許可されていないアクセスです")}
}
}

アクセスをはじけてるかどうかはまだチェックしてないけどね。
>>614さん、ありがとう(*^^*) 感謝です。
0624nobodyさん03/03/07 19:23ID:???
ある文字列を16進で縦に出力する方法を教えてください

例"5aB0"
↓
0x35
0x61
0x42
0x30

0625nobodyさん03/03/07 19:38ID:UTyY6aWY
>>624
$str = "ある文字列";
chomp $str; # 必要なら
foreach( split //, $str ){
printf "0x%x\n", ord;
}
0626nobodyさん03/03/07 19:42ID:???
>>625
ありがとうございました
0627nobodyさん03/03/07 19:58ID:UTyY6aWY
>>614-615
エラーチェックはしてないでつ
あと@uniqの内容がこれで良いのか自信なし

@sorted = でーた;
@uniq = ();

my %count = ();
my %sum_point = ();
my %sum_rate = ();
foreach(@sorted){
my($name, $point, $rate) = (split /<->/)[0..2];
$count{$name}++;
$sum_point{$name} += $point;
$sum_rate{$name} += $rate;
}
foreach(sort keys %count){
my $ave_point = sprintf "%4.2f", $sum_point{$_} / $count{$_};
my $ave_rate = sprintf "%4.2f", $sum_rate{$_} / $count{$_};
push @uniq, join("<->", $_, $sum_point{$_}, $count{$_}, $ave_point, $ave_rate);
}
0628nobodyさん03/03/07 20:48ID:???
今変数内に、HTMLタグを含む文字列が入ってます。
質問1.この中の<br>タグ(大文字のタグも含む)の数を数えたい場合どうすればいいでつか?
質問2.この中の後から数えてn番目の<br>タグ(大文字のタグも含む)以降の文字列を別変数に入れたい場合どうすればいいでつか?
お頼み申し上げ候
0629nobodyさん03/03/07 21:29ID:???
>>628
#三回マッチ
$val = "1<br>2<br>3<br>4<br>5<br>6<br>7<br>";
$val =~ /((.*?<br>){3})/;
print "$'\n";
063062903/03/07 21:32ID:???
括弧が一つ多かった。
大文字も含むなら
$val =~ /(.*?<br>){3}/i;
0631nobodyさん03/03/07 22:16ID:???
>>628
2.の良い方法が思いつかないけどとりあえずこんなんで
index使ったほうがいいのかな

1. count_br(文字列)
2. separate_br(文字列,n番目)

sub count_br{
  my $str = shift;
  return ($str =~ s/<br>//ig);
}

sub separate_br{
  my($str, $cnt) = @_;
  $cnt = count_br($str) - $cnt;
  my $pre = join "<br>", (split /<br>/i, $str." ")[0 .. $cnt];
  return substr($_[0], length $pre );
}
0632nobodyさん03/03/07 23:00ID:???
my @line = $str =~ /[^<]*<br>/ig;
my $new = join('', @line[ $n .. $#line ]);
0633nobodyさん03/03/07 23:06ID:???
$'を使うものの方が速そうだな。あぁ
063463103/03/07 23:12ID:???
>>632
漏れもそれを最初は考えたんだが、<BR>以外のタグが
あったときなんかはどうすれば良いのでしょう?
回避方法が思いつかずあんな恥ずかしいソースに…
063561403/03/07 23:20ID:???
>>627
ありがとう。
ちょっと手直ししたらうまくできましたーー。
きれいなコードで早そうですね。
まじさんくす。

0636nobodyさん03/03/07 23:28ID:???
>>634
はぅー考えてなかった。

そこは否定先読みで何とかできるかな。
0637nobodyさん03/03/07 23:29ID:???
$val = "1<br>2<br>3<br>4<br>5<br>6<br>7<br>";

my $want = 3; # 3以降
my $count = 0;
my $after = '';
while($val =~ /<br>/ig){
if (++$count == $want){
$after = substr($val, pos($val));
}
}

print "count=$count after=$after\n";

出遅れた…。
063863103/03/07 23:33ID:???
>>636
n番目の<BR>以降がn番目の<BR>を含まないならこうでいいのかな?
ベンチマークしたらほとんど変わらなかったけどソースすっきりです。

sub separate_br{
my($str, $cnt) = @_;
my @line = $str =~ /.*?<br>/ig;
return join('', @line[ ($#line-$cnt+2) .. $#line ]);
}
0639nobodyさん03/03/08 00:35ID:???
なるほど。最短一致ですか。先読みとか言ってた自分はアホですな。
0640 03/03/08 01:05ID:???
スクリプトがかけるCPU負荷というのは、どうすれば
調べる事ができるのでしょうか? PERLだと、どのような
処理を用いると負荷を上げてしまうのでしょうか?

Admin設置禁止CGIスクリプト情報
http://chat-jp.com/announce/denycgi/index.html
0641nobodyさん03/03/08 01:11ID:???
timesで何かそれらしき物(CPU時間)が出てくるから、少しは参考になるかも。
064262803/03/08 03:36ID:???
>>629-634,636-639
うまくいきました。
ありがとうございます。

今回は漏れの厨な脳に一番マッチした637さんのを使わせていただきました。
ただ、後から数えてn番目の<br>タグ以降の条件が前から数えてになってまつた。
0643nobodyさん03/03/08 04:20ID:???
CJ ClubのCGIってそんな負担だったのか…。
私も詳しく負荷率調べる方法教えて欲しいのです。
0644 03/03/08 06:43ID:???
ローカルでHTML表示部分をループさせて
process viewer見てたら、perlだけで30%近く
いきますね。
0645nobodyさん03/03/08 08:09ID:ijgyFeL7
45
0646nobodyさん03/03/08 09:22ID:2Y4AuOip
それここに書いてある
http://homepage3.nifty.com/digikei/
http://homepage3.nifty.com/digikei/sample/sample.html
              ,、-―-、
             丿   <`)       __
        ,、- ''' "二ヽ_(ヽ'`(二ニ・    |   \_
        /  、     !__'、_┌´     │   / `' ー┐
     /     ヽ   |   `         |   |     |
   ___ |    ヾ__|   |   _,、r‐'',ニ=-  |  /  _,、-‐'゙
 _| '、|    ミ/ ゙、  |_,∠-''´ ̄`'ー、   ̄|-''" |
 \|.  |     l___l     / ̄ヾ`´`   | ̄ ̄ ̄`'''iー、
.  |/゙|    ̄   ヽ_,、-''´`ヽ _,、,、,、,、_|______|_
  |  ( ´         ,、- ''゙  丿 ヾ二二二二二二二二二|ニ!
  ヽ<二二二二二>~/ / /   └‐┬─‐────┬┘
0647nobodyさん03/03/08 11:09ID:???
>>644
負荷かけてんだから当たり前なわけだが。
0648nobodyさん03/03/08 11:48ID:???
>>647
スクリプティングによる差は出ませんか?
0649nobodyさん03/03/08 12:10ID:???
>>648
そりゃ場合によっては差も出るだろうが
「HTML表示部分をループ」
だけならそんなに変わんないんじゃ?
0650nobodyさん03/03/08 12:23ID:???
>>649
掲示板の、
ログデータ読み込んで整形してHTMLで出力させる
みたいな感じです。
他で差が出るとすると連続書き込みさせた場合ですかね。
0651nobodyさん03/03/08 12:52ID:???
child tree のソースをちと読んでみた。
これは… 激しく読むのが苦痛。
CPU負荷は環境によるので一概には言えないが、
メモリにはかなり厳しそうなスクリプトですな。

で、>>640を読む限りだと
・禁止してないスクリプトなら設置していいよ
・でも負荷が高いときは勝手に止めることがあるからね
ということなので、CPU負荷は調べる必要ないかと。
0652世直し一揆(コピペ推奨)03/03/08 13:01ID:lDVM7LmW
<血液型A型の一般的な特徴>(見せかけのもっともらしさ(偽善)に騙されるな!!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」(「世間」と言っても、同じA型を中心とした一部の人間の動向に過ぎないのだが・・・)、了見が狭い)
●他人に異常に干渉し、しかも好戦的でファイト満々(キモイ、自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはた
いてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK!)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者にはへつらい、弱い者に対してはいじめる)
●あら探しだけは名人級でウザイ(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「〜みたい」とよく言う、
世間体命)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上協調・意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をしストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)  
●後で自分の誤りに気づいても、強引に筋を通し素直に謝れない(切腹するしかない!)●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。包容力がなく冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0653nobodyさん03/03/08 14:48ID:GxFJGMsn
すいません、デコード処理のルーチンの一部なんですが
$in{$key} .= "\0" if (defined($in{$key}));
の「.」ってなんでそう?探してもみつからず、気になって気になって
夜も寝ずに昼寝してしまいます。
0654nobodyさん03/03/08 14:51ID:???
>>653
文字列の連結。 +=とかと同じシリーズ。って言うか基礎。本読め。
0655nobodyさん03/03/08 14:52ID:???
>>653
$a = $a . $b;
$a .= $b;

上を短縮した書き方が下。
他に += とか、ほとんどの演算子でこのような記法ができる。
0656nobodyさん03/03/08 14:57ID:???
あぁなるほど、いやね、妙に半角一マス空いてたんで違う意味なのかなって思ってマスタ。
ありがとうございました。これでぐっすりできます。多謝。
0657nobodyさん03/03/08 18:26ID:6Zv33rxC
以前定数は
use constantがイイ!
という意見が出てるのを見てから見栄えも上級者っぽい
という事もあって使いまくってたんですけど
何故配布CGIとかだとさっぱり使ってないんでしょう?
そんなの配布サイトに聞けッ!て感じですけど
ご意見聞かせて下さい。
■ このスレッドは過去ログ倉庫に格納されています