Perl コーディング初心者質問コーナー Part34
■ このスレッドは過去ログ倉庫に格納されています
0001前スレの連投で気分崩したので後よろ
04/04/05 16:01ID:???【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。
1: 自分はこう言う事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。
最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。
過去ログやお勧めサイトは >>2-10
0381nobodyさん
04/04/25 14:33ID:???相互 use、自己 use とも無限ループにはならない。
ttp://www.perldoc.com/perl5.8.0/pod/func/use.html
ttp://www.perldoc.com/perl5.8.0/pod/func/require.html
ただし、自己 use することに何の意味もない。
さらに、相互 use することにも意味がない。
>378 の例だと CGI の中の use MOD_B; と、MOD_B.pm の中の use MOD_A; は
あってもなくても変わらない。
とりあえず、相互に use するような設計がおかしいので考え直せ。
0382nobodyさん
04/04/25 21:00ID:???HTMLでの " は \" になることは知っているので、そうしたのですが、
! や ? の記号の前にも \ が必要なのですか?それとも他の記号なのでしょうか?
0383nobodyさん
04/04/25 21:06ID:???話はそれからだ。
0384nobodyさん
04/04/25 22:15ID:???cgiで文字列の出力をしようとしているのですが、500エラーがでます。
" は \" になることは知っているので、そうしたのですが、
! や ? の記号の前にも \ が必要なのですか?それとも他の記号なのでしょうか?
0386nobodyさん
04/04/26 16:42ID:NLGfQi9Fディレクトリに、Basic認証もしくはDigest認証をかけて
/private/secure.cgi
へアクセスをした場合に、ユーザ名・パスワードを引数として
渡すには、どうやったら良いのでしょうか?
どなたかご教授、お願い致します。
0387nobodyさん
04/04/26 17:04ID:???パスワードを CGI に引き渡すのは
少なくとも現行の CGI というインタフェースを使う限りでは
原理的に不可能です。
これは Perl コーディング上の制限ではなく
CGI というインタフェース仕様上の制限です。
CGI 以外の方法なら、
例えば mod_perl を使って PerlAuthenHandler を組むやり方であれば
Apache Request オブジェクトの get_basic_auth_pw() メソッドを使って
パスワードを取得することができます。
0388386
04/04/26 17:18ID:NLGfQi9Fレスありがとうございます。
REMOTE_USERでのユーザ名引き渡し、確認できました。
パスワードはやはり無理ですか...
ユーザ名だけを利用して(重要な部分へは再認証という形で)
対応していきます。
0389nobodyさん
04/04/26 17:45ID:8MkOGNrLエラー処理ができなくて困っております。
例えば、
my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;port=$port", $user, $password, {RaiseError => 1, AutoCommit => 0}) || print "error";
これで$dbnameが存在していないものを指定すると、printにいってくれず、
Internal Server Errorが出てしまいます。↓error_log
DBI connect('dbname=--;port=--','',...) failed: FATAL: database "--" does not exist at --.cgi line --
ご教授いただけませんでしょうか。
宜しくお願いします。
0391nobodyさん
04/04/26 18:11ID:???横槍入れるようだが、同じパスワードで何回認証しても意味ないと思うんだが。
ユーザー名は追跡の為に追うこともあるだろうけど。
0392nobodyさん
04/04/26 18:24ID:???ユーザ名とパスはリクエストヘッダAuthorizationで渡されるから拾えばいい。
例えば.htaccessで
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule test.cgi test.cgi$1 [e=HTTP_CGI_AUTHORIZATION:%1]
($scheme, $data) = split (' ', $ENV{'HTTP_CGI_AUTHORIZATION'});
if ($scheme eq 'Basic') {
$data = &decode_base64 ($data);
($ENV{'REMOTE_USER'}, $ENV{'REMOTE_PASSWORD'}) = split(':', $data);
}
sub decode_base64 {
my ($str) = "@_";
my ($res, $len) = "";
local($^W) = 0;
$str =~ tr|A-Za-z0-9+=/||cd;
if length($str) % 4;
$str =~ s/=+$//;
$str =~ tr|A-Za-z0-9+/| -_|;
while ($str =~ /(.{1,60})/gs) {
$len = chr(32 + length($1)*3/4);
$res .= unpack("u", $len . $1 );
}
return ($res);
}
print "Content-type: text/html", "\n\n";
print "$ENV{'HTTP_CGI_AUTHORIZATION'}<br>\n";
print "$ENV{'REMOTE_USER'}<br>\n";
print "$ENV{'REMOTE_PASSWORD'}<br>\n";
0394nobodyさん
04/04/26 18:39ID:???ちょっと間違った
RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule test.cgi test.cgi [e=HTTP_CGI_AUTHORIZATION:%1]
sub decode_base64 {
my ($str) = "@_";
my ($res, $len) = "";
local($^W) = 0;
$str =~ tr|A-Za-z0-9+=/||cd;
$str =~ s/=+$//;
$str =~ tr|A-Za-z0-9+/| -_|;
while ($str =~ /(.{1,60})/gs) {
$len = chr(32 + length($1)*3/4);
$res .= unpack("u", $len . $1 );
}
return ($res);
}
0396nobodyさん
04/04/26 21:22ID:BWwI4BSicgiでcss文書を吐き出したいんですが、Content-type:text/cssと最初につけておけばよいのでしょうか?
infoseek iswebでこれをやると広告がついてきてcssとして使えなくなるんですが、普通にうpしたcssファイルはhttpでgetできます。
この差はCGI作り手側のミス?それとも拡張子cgi=広告付加とかCGI作り手側じゃどうしようもないものですか?
0397nobodyさん
04/04/26 21:28ID:???0399nobodyさん
04/04/26 23:30ID:???そうでしたか…失礼。
0400nobodyさん
04/04/27 17:46ID:m4JuDEBr0401nobodyさん
04/04/27 17:51ID:???0402nobodyさん
04/04/27 17:56ID:m4JuDEBrできるだけ早く処理できる方法があったらお願いします。
0403nobodyさん
04/04/27 18:04ID:???できるだけ待ち時間を短くするための工夫としては、
ソケットを non-blocking で開いて並列で処理する、ぐらいか。
0404nobodyさん
04/04/27 20:01ID:D2O5MFhmprint "content-type: text/html\n\n";
open(TEST, "sub/test.htm");
while (<TEST>) {
print $_ ;
}
close(TEST);
exit;
ローカルではうまくいくのですが、サーバーに上げて実行してみると上手くいきません。
0406nobodyさん
04/04/27 20:14ID:???それに「うまくいかない」で読んでるやつがどうなったかわかると思うか?
0407nobodyさん
04/04/27 22:30ID:???先頭にtime値を書き込んで、新しい方を読み,古い方に書く
2重ファイル方式を取入れたのですが、ログが消えた時はそのままでした。
flock考やperlメモのやり方でもたまに飛ぶので(ローカルでは書き込みプログラムを何個走らせても飛ばないんですが…)
バックアップ的にこのやり方を導入したいんですが、アドバイス願えないでしょうか?
0408nobodyさん
04/04/27 22:36ID:???並列で処理しないとロックの検証にはならないよ。
でなきゃ鯖の問題だな。
0409nobodyさん
04/04/27 22:55ID:???0410nobodyさん
04/04/27 23:00ID:???同じ値になるだろ
0411nobodyさん
04/04/27 23:01ID:???0412404
04/04/28 00:18ID:2okML1Hbですがまた問題が発生しました。
sub/test.htmから<n月>という文字列がある行をマッチさせたいのですが、下のようにすると
ローカルではマッチするんですが、サーバーに上げるとマッチせず。。。
print "content-type: text/html\n\n<html>";
open(TEST, "sub/test.htm");
while (<TEST>) {
if ($_ =~ /<.*?月>/) {print $_;}
}
close(TEST);
print "</html>";
exit;
4行目を
if ($_ =~ /<(.*?)月>/) {print $_;}
に書き換えるとローカルでもサーバーでもマッチします。なぜでしょうか。
0415nobodyさん
04/04/28 01:00ID:???何だ釣りだったのか?
釣りを楽しむ余裕が
今はある!!!
誘導くらいしてあげるよ
http://pc5.2ch.net/test/read.cgi/php/1069245758/l50
0418nobodyさん
04/04/28 01:59ID:???回答ありがとうございました。
>>408
5台くらいで鯖マシンに(perlの)duke撃ちまくってテストしました。
>>409
現在携帯からなので無理ですが
perlメモのロックの部分とflock考えの奴をそれぞれやりました。
>>410
そうでした…
ただifの条件に合わないと、elseで指定されている方を読み込みますし大丈夫なのでは?
サイトの方は日に200くらいの書き込みで、そんなに多くは無いんですが、
2,3ヵ月に1回は飛んでしまいます。
逆にtopのカウンタは2重ファイルってだけで
ロックは使って
0420nobodyさん
04/04/28 06:01ID:???落ちたりしたらログ飛ぶわなあ。
0421nobodyさん
04/04/28 07:36ID:???そういう可能性もあるんですね。
読み書き両用でopenして…と思いましたが、どっちみちサイズを0にした時点で落ちたら意味無いですよね…
ツリー型なので700件残るようにしてますが、少し多いづしょうか?サイズは130KBくらいです。
0424nobodyさん
04/04/28 16:05ID:S7OIBKMs`halt`;
----------------------------------------------
以上のスクリプト実行しても鯖ダウン出来ませんでした。
どうやったら鯖ダウンできますか?
0425nobodyさん
04/04/28 17:32ID:???0426nobodyさん
04/04/29 00:19ID:DqcSI5IGindex.htmlがあるとしてこの中の一部にxxx.cgiを表示したいのですが
どぅやったら表示出来るのでしょう?
表の中に表示させたいのですがインラインフレームしかありませんか?
0427nobodyさん
04/04/29 00:27ID:???板違いです。
0429nobodyさん
04/04/29 13:25ID:???0432nobodyさん
04/04/29 14:59ID:???0433nobodyさん
04/04/29 20:58ID:???htmlをcgiに取り入れたら?
0434nobodyさん
04/04/29 21:11ID:???0435nobodyさん
04/04/29 22:36ID:???use Pgのgetvalueみたいなものはuse DBIにないのでしょうか。
すみませんがご教授いただきたいです。
0436nobodyさん
04/04/30 01:19ID:???0437nobodyさん
04/04/30 01:52ID:???DBIスレの方がちゃんと知ってる人が多いと思う
http://pc5.2ch.net/test/read.cgi/php/1015943725/
0438nobodyさん
04/04/30 03:25ID:SiN+gHBLバッククオートで外部プログラムを実行し、標準出力を受け取りたいと考えてます。
$tmp = `/usr/bin/wget -d http://example.com/test.cgi?d=domain\&p=password -O -`
このとき、アンパサンド「&」をエスケープできません。( http://example.com/test.cgi?d=domain でwgetが実行される)
どうすればよいでしょうか。
perl -v > This is perl, v5.6.1 built for i386-linux.
シェルで/usr/bin/wget -d http://example.com/test.cgi?d=domain\&p=password
はちゃんとgetの長いメッセージとして実行できてます。
GETはやめてPOSTにしろ、はなしでお願いします。。
0439nobodyさん
04/04/30 10:18ID:???かなり卑劣かも。
$tmp = q|http://example.com/test.cgi?d=domain&p=password -O -|;
$tmp = `/usr/bin/wget -d $tmp`;
0441nobodyさん
04/04/30 10:46ID:???俺には真似出来ねえ。
0442442
04/04/30 17:56ID:G+Ai2Hl9このようなxmlファイル(test.xml)があったとして、
-------------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<data>
<member num="01">
<name>AAA</name>
</member>
<member num="02">
<name>BBB</name>
</member>
</data>
-------------------------------------------------
その中から、「AAA」と「BBB」を取り出すには
perlどのように書けばよいのでしょうか?
↓から続きがかけません・・
-------------------------------------------------
#!/usr/local/bin/perl
use XML::Parser;
:
:
:
print $name01; #AAA
print $name02; #BBB
-------------------------------------------------
0443nobodyさん
04/04/30 18:34ID:???google って知ってる? とっても便利だから使ってみなよ。
http://www.google.co.jp/search?lr=lang_ja&q=perl+XML%3A%3AParser
0444442
04/04/30 18:51ID:???ttp://member.nifty.ne.jp/hippo2000/perltips/xml/parser.htm
とか良さそうだったのですが、解説を呼んでもいまいちよくわかりませんでした・・
0445438
04/04/30 20:25ID:???必ず直前で変数に固定値を代入するので、変数るのを納得しときます
0446nobodyさん
04/04/30 22:38ID:???バッククォートでは変数展開とかがかかるので、\& が & になった状態でシェルに渡されてる。
なので、\\& にしても通るとは思うんだが、>440 のようにシングルクォートを使う方が素直だと思う。
0447nobodyさん
04/04/30 22:54ID:5VEFp/rmポートチェックってどうやったらできますか?
掲示板の荒らし対策に80と8080のチェックしたいんです。
ググってもいいページが見つからないんで・・・
できればスクリプトごとお願いします。
0450nobodyさん
04/04/30 23:45ID:???とりあえず Socket.pm のマニュアルでも読めば。
0451nobodyさん
04/05/01 00:12ID:???0452nobodyさん
04/05/01 00:43ID:???0453nobodyさん
04/05/01 01:09ID:fGFxpvHE/ . : : : : : : : : : \
/.: : : : : : : : : : : : : : ヽ
,!::: : : :,-…-…-ミ: : : : :',
{:: : : : :i '⌒' '⌒' i: : : : :}
{:: : : : | ェェ ェェ |: : : : :}
. , 、 { : : : :| ,.、 |:: : : :;!
ヽ ヽ. _ .ヾ: :: :i r -ニ-┐ | : : :ノ
} >'´.-!、 ゞイ! ヽ 二゙ノ イゞ‐′
| −! \` ー一'´丿 \
ノ ,二!\ \___/ /`丶、
/\ / \ /~ト、 / l \
/ 、 `ソ! \/l::::|ハ/ l-7 _ヽ
教 え ろ や ? あ ? コラ ?
0454nobodyさん
04/05/01 01:10ID:fGFxpvHE, - ' ゙ `` ‐ 、_,,,,,
,r' /=ミ
/ 彡ll',''´
. / 彡lll
!-- .、 ,、、、、,,, 彡lノ
l,,,,,__ / ___ 'r''゙ヽ
. |`゙'' ./ `'゙'''" .〉,l |
|. ,' //
. ',. ,' , r'
. ゙, ゙'ー ‐` l |
゙、''゙ ,,、二''‐ ノ l、
''''''''7'ヽ ''' / /`〉`゙T''''''''''
l ` 、,,,,、- ' " / /.| |
. | | .l i / ./ | |
| | | l / ./ .| |
. | | | l / / | |
| | | ', / / l .l
0455nobodyさん
04/05/01 01:10ID:fGFxpvHE,..-──- 、
/. : : : : : : : : : \
冒 /.: : : : : : : : : : : : : : ヽ
l l ,!::: : : :,-…-…-ミ: : : : :',
./〜ヽ{:: : : : :i '⌒' '⌒' i: : : : :} _______
|__| {:: : : :.| ェェ ェェ |: : : : :} /
. .|| �d.|| { : : : :| ,.、 |:: : : :;! < とんちゅーみねーりらろっとおブ
/| of||_.ヾ: :: :i r‐-ニ-┐| : : :ノ \
|  ̄ -!、 ゞイ! ヽ 二゙ノ イゞ‐′  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| −! \` ー一'´丿 \
ノ ,二!\ \___/ /`丶、
/\ / \ /~ト、 / l \
/ 、 `ソ! \/l::::|ハ/ l-7 _ヽ
/\ ,へi ⊂ニ''ー-ゝ_`ヽ、 |_厂 _゙:、
∧  ̄ ,ト| >‐- ̄` \. | .r'´ ヽ、
,ヘ \_,. ' | | 丁二_ 7\、|イ _/ ̄ \
i \ ハ�� |::::|`''ー-、,_/ /\_ _/⌒ヽ
0456nobodyさん
04/05/01 01:11ID:fGFxpvHE●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●死 ね●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
0457nobodyさん
04/05/01 01:13ID:fGFxpvHEi1llllllii ,..-‐''" ̄~゙" ̄ ̄ミヽ──ー,
;;ll,;:" i ヽ.、ヽ;=、/
,/ l ヽ ゙i、 ゙、:、゙、;;
/ :' l : i !. ゙、 !l !,゙, ゙:,
l, ; . ; i !i : :, }i!、 ', ! l l :!:.;:'; i ミィは最強なんだよっ♪
l.;.; : ;: l liヾ、 , .;}, Lj-ヾ ;.; l l :l ;: : l
j!;.;; : ;: }:、ゝ、ヾ、゙ jリ.,. ..,,ヾj : .:rl ; : .!
!l; ;; .; ; l. ,,,,、ヾ、ツレ' i;;';;;;゙jL; ゙:,゙:, ; ; l
|,:l;, ':, ; ;l,,l!i';;゙;, ヾ-'',j ; ;;' l.゙i、; l
| ;l;':,', ;, '!ヾ.`''' , ,ォj,;:'' ; !l;:; l
| ;.!'l !゙,ヾ:「~;,、 ー ノi'' ;' ,ノ;; ,l
;l.; i ;.!l゙;ヾ,ヽ、;, `''ー ..,,_,. ::'ノ;.},,. 、,;'"; ;:; ;l
;'i ; ! ; i! ヾ; :、リ,, -::''"::l::i!::/;'.j、ヽ、j:::::ブヽ、!
;' !,' i ; ;; rヾ,:,゙; l:::::::::::::ヽi!フ;ノl'ヽ、,.ノ:;:" ヽ,
,:'.;',' j,.、!'ヾ‐- ゞ、;゙ト、;::::::::::ソ/::! .|:i ゙!,
,' ,'.;,rヾ .ヽ ヽ......:::ヽi!'::゙ヾ-''リ^7 l/-、 .jヽ
,' ;;'.;r゙、 ヾ、j ゙"::::::::;;:::l:::::::::;メ:::::!. i ゙i ,;^ヾ;,
. ,' ,;',,'.;'i、'l'┘:::::::::::::::l':;:::!::::::::::::!::;' !. i!,.:;i ;, .lヾ:;,
,:' ,' //,! ゙':::::::::::::::::::::!ノ::::.!:::::::::::;,l. !. ,:';;::|, :;: 'l ゙;,゙;
;' ,;:'/ ;'/ :::::::::::::::::::::i"::::::.|:::::;,;;'イ l , ':::::::|,: ; ! ヾ:.,
0458nobodyさん
04/05/01 01:13ID:fGFxpvHEi., ..;;;ヽ ヾ ,,;_ , /
ヾ_:::,:' -,ノ
ヾ;. , , 、;,
;; ● , ... 、,● ;:
`;. C) ,; ' うるせー!パンチ5分の2を教えろ!!
,;' '.、 -‐-ノ ,;'、
/ ) _ _
/ ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _
/ / | ( 〈 ∵. ・(ミィ〈__ > ゛ 、_―
| ! ヽ ー=- ̄ ̄=_、 (/ , ´ノ
| | `iー__=―_ ;, / / /
!、リ -=_二__ ̄_=;, / / ,'
/ / / /| |
/ / !、_/ / 〉
/ _/ |_/
ヽ、_ヽ
0459nobodyさん
04/05/01 01:15ID:fGFxpvHE/ / λ / / λ
/ / λ / / λ
/ / /λ / / /λ
/  ̄ ̄ ̄ \
/ / \ \
/ / \ \
/ / \ 丶
| |
| |
| | PERLオタクを殺す会
| ^――――――― /
| /
\ /
/―/ / / \/;;;;;;;\////////―\
0460nobodyさん
04/05/01 01:16ID:fGFxpvHE....:::..∧Y∧ .
.::::::::. ・ ・ ::ヽ
( )●( ) このスレは終了しました
丶 ー /
l, j
i i .j
| 八 |
{ }
| i し " i '|
|ノ ( i i|
( '~ヽ ! ‖
│ i ‖
| ! ||
| │ |
| | | |
| | | |
| ! | |
0461nobodyさん
04/05/01 01:45ID:???+
人
0462nobodyさん
04/05/01 08:27ID:???ただし、Internal Server Errorはさけたいと思っています。
つまり・・・
if (?????){
print "flock 使用可能";
}
else{
print "flock 使用不可能"
}
とさせたいのですが。。。
よろしくお願いします。
0463nobodyさん
04/05/01 08:53ID:???0464nobodyさん
04/05/01 13:21ID:???sub new {
my $class = shift;
my %params = @_;
my $self = {
sex => male,
};
bless $self, $class;
$self->initialize();
return $self;
}
で、Bakerに、外部からアクセスできる変数$skill (パン屋の腕前)と、内部でのみ使用する変数
$east (イースト菌 $east = new East()とかやりたい)を持たせたい時、
どうするのが賢いやり方なのでしょうか?
$eastの方は、ブロックの一番外でmy $eastと宣言したのでいいのだろうか、と思うのですが、
$skillの方は、$self->{skill} = $skillとかやっても、Humanのnewでblessした後なので、
途中で勝手に$selfのキーを増やしたりできるんだろうか、と思いまして…。
0465nobodyさん
04/05/01 15:45ID:???関係ないっつーかそういう風に
継承でハマることを避けるために
newとinitializeをわけてるんじゃないの?
Bakerの
initializeでskillとeastのキーを増やしておく。
skillのアクセサを作る。
eastのアクセサを作らないもしくは内部使用に限定する。
$baker->skill;
$baker->_east;
0466nobodyさん
04/05/01 16:33ID:???initializeはblessした後に呼び出される訳ですよね?
blessした後に$selfのキー勝手に増やしても大丈夫なんでしょうか…。
0468nobodyさん
04/05/01 18:49ID:???いや、動くプログラムと良いプログラムは違うっていうか、
動くのは試したんですが、何らかの理由があって推奨されない方法なら
別のアプローチを探さないと、と思いまして。
普通に使われてる方法なら良いのですが…。
0469nobodyさん
04/05/01 19:03ID:???| ・・・・・・・・・・・・・・・
\
 ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(;;::::: )
,/;/⌒/)
//;: /;:: /./
(;::::|;:: (;: (/
\);;:::.\;\
(;:: ( (<<<ヽ
.|;: |\;::::\
);:: | );:::: )
_、_
(;;:::::,_ノ` ) 彡 マーシェーリィー… !
,/;/⌒/)
//;: /;:: /./
(;::::|;:: (;: (/
\);;:::.\;\
(;:: ( (<<<ヽ
.|;: |\;::::\
);:: | );:::: )
0470nobodyさん
04/05/01 19:04ID:???(/ "つ`..,:
:/ :::::i:
:i ─::!,,
ヽ.....::::::::: ::::ij(_::●
r " .r ミノ~
:|::| ::::| :::i ゚。 ・・・トゥートゥートゥマシェリー・・・
:|::| ::::| :::|:
:`.| ::::| :::|_:
:.,' ::( :::}:
:i `.-‐"
:ヽ__::',__ ::|:
:{ ::| ::|:
:| ::| ::|:
__ _,, -ー ,,
(/ `..,つ
/ ::::::', マーシェーリー♪
i ● ●:!
ヽ... ( .● )::/ 彡くるっ
r ":::::::.... ,,_ ─:/
|::| ::::r ̄:i
|::| ::::| :::|
`.| ::::| :::|_
.,' ::( :::}
i `-‐"
ヽ__::',__ ::|
{ ::| ::|
0471nobodyさん
04/05/01 19:05ID:???/::::::::::::::::::::::::::::::::゙:、
. /:::::::::::::::::::,r-:::::::::::::::::゙::、
.. ,l':::::::::::::::::::/-〃゙゙''''''゙\:::::::゙、
l:::::::::::::::::::,l' ll'l ゙l;:::::::l,
,;:::::::::::::::::::l .ll.l.. l:::::::::l
,ィ:::::::::::::,r-- '''''--=-'l''=-''り::::l
〃::::::::::::::l' ゙ - ' ;. l゙ - ' l::::::l ここのスレには…
ソ::::::::::::::::l , ア__,.l,.('' .t:::::j'
. l::rk:::::::::::::゙l ,..'゙-、=-:,.゙ t ゙レ 書き込まないで…ほしいです…
ゝj:::::::,、::::::゙、 ; -==ヲ'弋''''{ ゙l,
,.-'::;==' ノ::::::::>'~::::゙=、_,l,.;'゙^'''゙l. ゙、
....,.='' ,,〃'ヘ:::/:::::::::::::::::゙l爪. l,
,.r'',:,:,:,:,:,^~",:,:,:,:,:,:,:7'''',=';,''''ヘ:ノ爻゙、 ,.=''-、
k,:,\、,:,:,:,:,:,:,:,:,:,l,:,:,:,:/ (ふ勺 ,''l' j::l ゙l,-='',:,:,:,:,:,:゙、
,l',:,:,:,:゙、,:,:,:,:,:,:,:,:l,:,:,:,:l---===,,'.j^~:::l ,-゙,:,:,:,:,:,:,:,:,:,:,゙、
/,:,:,:,:,:,:,゙、,:,:,:,:,:,:j,:,:,:,:,:l l':::::゙ュ), l.,' ;::;,/,:,:,:,:,:,:,:,:,:,:,:,:,:,:,ヘ
j,:,:,:,:,:,:,:,:,:,゙、,:,:,:,:,l,:,:,:,:,:,k:::::::ヒ_l .;:::ll,:,:,:,:,:,:,l,:,:,:,:,:,:,:,:,:,:,ハ
,l,:,:,:,:,:,:,:,:,:,:,:,z,:,:,:,l,:,.,. '^.、::_:j':::::::::::::::::::l,:,:,:,:,:,:,:\,:,:,:,:,:,:,:,:,:,:,\
0472nobodyさん
04/05/01 19:05ID:???/ ,,,z-──ュ‐-、
/,,ミミミミ,,r-‐'' リ \
//~ | ゙i
i/ ┛┗ | |
f | ┓┏ ヽ |
| | リ r-、
| | `ヽ/「ワ,| こんな感じで頼みます・・・
リ ,,,r==、 ,,r===ュ、 ┐ソ
゙i -=◎=-ヽ i−я−- ` ン }
゙i ヽ--‐ .| l `'─‐'" ノ ト‐/
| /l l 、 ,/ ├‐'゙
.|、 ノr' レ ヽ¬、,,.... -‐ |
゙iヽ‐' ヽ,,,,,r''´ ノ |
ヽ ト‐==─イ~、 / .ト、
\ ヽ  ̄__:::‐' y ノ
\ ` :: , '
`ー--──'"-'
0473nobodyさん
04/05/01 19:08ID:???/ /-‐=、''" ', ! ト -ヽ__ ヽl \ ヽ
, ' ,イ. ジ.l7! ゙、|ヽ | ,r.‐、!,.`` ! , |、 \! ゙,
/ /! !. |':l ヽl l7l i | 'l ヽ !
/ / イ. ` , .l'ノ !. i i \ |
, ' / ! /// < /// ! | ゙、 `ヽ、 ,'
-="-ァ i ヽ rァ─- 、 _| / ゙、 ヽノ
i ! i \. .,,___,,.) / |/ ゙、
l , r | ` 、 _ ,. べ | 、 ヽ
ヽ/ヽ、 | .`l ""´ l . ヽ/ _,)``
ヽ.」 ___,./ ' ´ ___ `ー 、_ / ,ノレ'
,.r '´ ー-` '´ - ‐  ̄ `'ー 、
,/ _,. ヽ
,レ' ´ i l
/ , ,l l
。'i ! r',ヽ l l l
,、r;, i'゙ ! ヾ'-' l. l l
_,r'´、l.レ'、 '、 , '、 ,/ l ,.!v-、,_
l L.., } ! ハ、 , ‐' ヽ、 ノ /! /`,/_,l L,
l゙l ヘ」/ l. / `''┬ ' ´ `'ー----- '´ ,/ l / !:イ、_ノ l、
アダルトとPERLは禁止
0474nobodyさん
04/05/01 19:09ID:???/::::::/:::::::_,,,、---‐‐'''`~,、-''/::/ /"`'ー-''`''-、これなんのAA・・・?
/:::/:-‐''''"~~::::::::;;;;-、,,,,、-,,、-‐ヽ,,_ / ヽ
;/;;'`"~、-''''''~^'''''ー-、_,,i:i、 ヽ`ヽ、;ヽ、,,,ノ. /"´ ̄~''/ ::::ヽ
;;;/~":、---、___/´ ,,i:''' :: ヽ. ヽ.`'''"´ /´ :::./ :::::::i
;;;;;'''''^~~~~^'''''/ー- ';、 ::: ` ヽ`''ー-,,,i_ -‐''" ::::::::;/-、,
;;;、;;;`''ー-,,,,,,,,,,,,,,_,,,,,、_ '' ',:::: `'ー _、-'''~ ̄`''''''ー-、 :::::;/:: ヽ、
;;;ヽ、ー、;;ー-、,,,,,,,、-‐''" .;´ ̄`, ',::::,,,,、- /"'::;,:ヽ 、 ヽ.::::::: ''ー
:::::ー、ヽ、,,''ー-ヽ.''''",.,;' "^' 'ー-‐'' . _、-'''''"´ / ヽ,,,ノ ヽ| ヽ:::: ::
:::ヽ、`''ー-、ー-、'ヽ"、i;. ヽ /" i::: i: '::: :::::
、::ヽ;;ヽ、:ー-、,,,,,、.ヽ ';'' ノノノ/;/ i:::::::::: υ " :::
ヽ,,_::''‐、,,,,''ー-''ー-"''/~'"''"/:/:: ::、:::i..:::::::::::::::::::::::::::::::::::: :::::::::
ヽー''"~´ ヽ、 "`'i::::::::i、:.. :~^ヽ:::::::::::::::::::::::::::::ノ:::::::::::::::i'/::::::::::::::::::::::
~´ ::: :::::::::;;;;;; ;;;;;;;;;;;_,,、--、_i.::::::'ノ:::::::: `''ー-、,,,,,,,,,,‐'":::::::::υ::::υ::::::::::::::::::::::
ヽ'''''''''''''' '' :::::;;;;;;;;;;;;;;;;`-、:::::::::::::::::iノ::::::::::: """`''ー、,,_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0475nobodyさん
04/05/01 19:10ID:???i., ..;;;ヽ ヾ ,,;_ , /
ヾ_:::,:' -,ノ
ヾ;. , , 、;,
;; ● , ... 、,● ;:
`;. C) ,; ' うるせー!パンチ5分の2を教えろ!!
,;' '.、 -‐-ノ ,;'、
/ ) _ _
/ ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _
/ / | ( 〈 ∵. ・(ミィ〈__ > ゛ 、_―
| ! ヽ ー=- ̄ ̄=_、 (/ , ´ノ
| | `iー__=―_ ;, / / /
!、リ -=_二__ ̄_=;, / / ,'
/ / / /| |
/ / !、_/ / 〉
/ _/ |_/
ヽ、_ヽ
0476nobodyさん
04/05/01 19:10ID:???....:::..∧Y∧ .
.::::::::. ・ ・ ::ヽ
( )●( ) このスレは終了しました
丶 ー /
l, j
i i .j
| 八 |
{ }
| i し " i '|
|ノ ( i i|
( '~ヽ ! ‖
│ i ‖
| ! ||
| │ |
| | | |
| | | |
| ! | |
0477nobodyさん
04/05/01 19:50ID:???「blessした後に$selfのキー勝手に増やしても大丈夫か否か」という
問いに対し「何故試さない?」という答えなんだが…。>>464 だけでは
君がどう実装しているか分かりかねるので、善し悪しを尋ねられても
誰も答えられんだろう。
OO 設計に関するノウハウを知りたければ、その手の本なりサイトを
一通り読んだ方が、こんな処で一問一答してるより早いんじゃないか?
もしくはこの板なら下のスレ辺りに動くコードを晒して揉んでもらう
事を勧める。
http://pc5.2ch.net/test/read.cgi/php/1049514428/
http://pc5.2ch.net/test/read.cgi/php/1016474386/
0478nobodyさん
04/05/01 21:32ID:???http://www.kt.rim.or.jp/~kbk/perl5.005/perlbot.html#INSTANCE_VARIABLE_INHERITANCE
0479nobodyさん
04/05/01 21:38ID:???>464
bless は単に型付けするだけだから、その後、キーを増やそうがその事自体に問題はない。
ただし、基底クラスで利用しているキーとぶつかったりしたら問題を引き起こす可能性はあるけどな。
ちなみに、一度 bless した後、別のクラスに bless し直すことだって可能なんで、bless を神聖視する
必要はない。
個人的には C++ 使いなので、派生クラスの new の中で基底クラスの new を呼ぶ方が好きだなぁ。
ttp://www.perldoc.com/perl5.8.0/pod/perltoot.html#Overridden-Methods
でも、この辺は Perl らしく TMTOWTDI なんで好みに合わせればいいと思う。
0481nobodyさん
04/05/02 15:15ID:???finishしないと まずかったりしますか?
今書いてるソース、すべてつけていないもので、、、
■ このスレッドは過去ログ倉庫に格納されています