CGIに依存しないPerlの話題一般/Part2
>>210
jcode.pl の方ばかりを気にしていたので.pm の方をすっかり失念していました。
スレ汚しすいませんでした。 use strict;
sub new {
my $that = shift;
my $class = ref($that) || $that;
my $self = { a=>{A=>'A',B=>'B'}, b=>[qw/A B/] };
bless ($self, $class);
return $self;
}
sub method {
my $self = shift;
my $a = $self->{'a'};
my $b = $self->{'b'};
}
$a,$bをデリファレンスして利用するのではなくて
型グロブで選択的別名定義して%a,@bと実装できますか?
できるのでしたらどのように実装するのでしょうか? sub method{
my $self = shift;
our(%a, @b); # or use vars pragma
local *a = $self->{a};
local *b = $self->{b};
$a{foo} = 1;
push @b, 'foo';
}
またはAlias.pmとかな。
http://search.cpan.org/~gsar/Alias-2.32/Alias.pm
どっちにしてもあまりメリットは感じないが。 sub new
{
my $pkg = shift;
bless
{
name => shift,
age => shift
equips => undef
}, $pkg;
}
ここでequipsを配列にしたいのですが、
そのような事は可能でしょうか?
push($self->{equips}, $object);
$self->{equips}->[1]->getEffect();
($objectは別のクラスオブジェクトでgetEffectはそのメソッド)
みたいな感じで使いたいのですが。 equips を配列へのリファレンスにすることならできる
sub new
{
my $pkg = shift;
bless
{
name => shift,
age => shift,
equips => []
}, $pkg;
}
としておいて
push(@{$self->{equips}}, $object);
$self->{equips}->[1]->getEffect(); 巷のスクリプトを見るとPerlでサブルーチンにプロトタイプ宣言を行っていない
ものがほとんどなのですが、なぜプロトタイプ宣言を行っていないのでしょうか?
プロトタイプ宣言を行うと低速化したりという弊害等があるのでしょうか?
sub func($$@) #プロトタイプ宣言あり
sub func #プロトタイプ宣言無し >>216
反対に、宣言しなくてもいいのにわざわざ宣言するメリットって何?
その「巷のスクリプト」とやらはサブルーチン呼び出すのに &
つけてたり、メソッドとして呼び出してたりしてないか?
あと Perl 関係のメインスレは以下なので以後はそちらに。
http://pc5.2ch.net/test/read.cgi/php/1089779036/
http://pc5.2ch.net/test/read.cgi/tech/1090889189/ >>217
コンパイルタイムの型チェックと最適化がされるらしいので、
より効率的でより安全だと思うのですが。 らしいじゃなぁ
PerlOPみて調べて自分で考えろ >>219
要するにあなたは何も知らないんですね ;-)
簡単にお金稼ぎ!!!
以下の手順でやれば、無料でお金稼ぎができます。
企業も広告の宣伝になるから、お金をくれるわけです。
最初の1日目で 2000 円〜3000 円 は確実に稼げます。
実際の作業は数十分程度、1時間はかかりません。
(1) http://sinsetsu.lxl.jp/#.2ch.net
↑このアドレスからサイトに行く。
(2) ゲットマネー登録サイトに移動するので、
そこで無料会員登録をする。
※フリーメールアドレスでもOK。
(3)ポイントを稼ぎます。
懸賞の応募や無料会員登録をすればするほど、
ポイントが貰えます。
他にも沢山種類があるので、1日目で
約 20000 ポイントは GET できます。
(4) 10000 ポイントから、現金に交換できます。
(5)キャッシュバックという所がありますので、
そこから交換をしましょう。
これで現金を稼ぐといいですよ!!!
無料会員登録はこちらから↓
http://sinsetsu.lxl.jp/#.2ch.net >>168
お前頭悪いなwww
ばああああああああああああああああああああかwwwwwwwwwwww
死ねクズww
>>168
どっちかっつ〜と「CGIに特化しないPerlの話題一般」だな
突っ込んどいて間違えてるお前はマヌケ たとえばPerlスクリプトが$ENV{HTTP_REFERER}を期待していた場合、そのPerlスクリプトは、
CGIに依存してる。
use CGI;はCGIに依存してる。
だからスレタイ通りで何も間違いはない。 forkする前にhttpヘッダから取得した値を環境変数にセットしPerlはそれを読み出しているだけです。
環境変数は標準入出力と並んで主要なデータやり取りの手段でGUI、CUIといった区別無くC、Java、PHP等様々な言語で利用されています。
CGIがこのやり取りの手段を提供しているのは事実ですがCGIに依存しているという言い方は誤解を招くと思います。 >>228
最初の2行と最後の1行が全然繋がらないな。
CGIに依存したPerlに関する話題なんていくらでもあるだろ。 もっと簡単に言うのであればCGIは環境変数へアクセスする仕組みを用意しているが環境変数を
使ったからといってCGIかもしれませんしtcl windowsアプリかもしれませんしunix cuiアプリかもしれないのです。
また
> use CGI;はCGIに依存してる。
> だからスレタイ通りで何も間違いはない。
CGIに依存しているのであればスレタイに反し間違いです。
この読解力には驚くべきものがありますがあまりにも高度すぎる罠かもしれません。 >>230
いや、CGI:が何かはいや過ぎるほど知っているのだが。別に知識披露しなくていいよ。
「スレタイが間違ってる」という指摘に対し「何も間違ってない」と答えたまで。 >>230
凄いコミュニケーション能力ですね。
仕様書読めてますか? >>232
自分の知識をひけらかして相手を圧倒することで、
コミュニケーション能力の欠如を補うタイプだね。
そんな中途半端なCGI豆知識いらんっつの。
つーかさ、>>228、forkする前セットしたら親もセットされたままになるだろ。
forkの後、execの前が正しいんじゃないか?
あと当時はコマンドライン引数も主要なデータやりとりの手段だったんだぜ。 過去レス見てるとこのスレはCGI/Perl以外のPerlの話題で
板違いという風に言ってるように思えるんだけど
ここはCGIに依存するPerlを語るスレなの? >>231
use CGIしてもCGIには依存しませんよ。CGIを良く知っている人の発言とは思えませんが。 >>235
当たり前だろ。禅問答かよ。CPAN::CGIの存在そのものがCGIに依存してるんだよ。
それで揚げ足取ったつもりかw >>235
仕様書を縦読みして客に迷惑かけてそう。 >>236
揚げ足を取ったつもりはないのですが不快にさせてしまったようで申し訳ありません。
私の不勉強のためCPAN::CGIというものが何であるか分かりませんでした。
CGIに詳しい貴方様にCPAN::CGIが何であるのかご教示頂ければ幸いです。 >>238
そんなもん実在しない。スラング。
で、CPAN::CGIの話が思いっきりスレチになることが
分かってないな君はw
さすが仕様書読めない君。 ありがとうございます。
・CGI::CPANはCGIに依存しているので「CGIに依存しない話題」スレで話す事はスレ違い
という事は分かりました。結論で言うと貴方が初めに仰った
・use CGI;はCGIに依存しているので「CGIに依存しない話題」スレで話す事はスレタイ通り
というのは間違っているという私の指摘通りで合ってますでしょうか? >>240
あ、そんなとこで引っ掛ってたの。
俺は「スレタイが日本語として間違っている。言い直すべき」という指摘に対して
「スレタイの日本語は間違っていない。今のスレタイ通りでいい」と言ったまでなんだが。
やってくれるわ仕様書読めない君。 Moose 使い始めてみたのだけど、
今まで Class::Data::Inheritable を使っていたクラス変数みたいなのは
どうやってやればいいのん? 自己レス。
Moose ではできないんだね。
自分の場合、一部動作は異なるけど、MooseX::ClassAttribute を使えば何とかなりそう。
>>241
いえ、貴方のスレタイ通りという主張は分かっています。
結論を裏付ける例示が間違っていてもなお結論は揺るがないという事を言いたいのであれば
「use CGI;はCGIに依存してる。」というのは間違っていたがスレタイ通りという主張は変わらない
と言えば済んだ事ですね。
苦し紛れに「CPAN::CGIの存在そのものがCGIに依存してる」等という意味不明な事を言うからおかしなことになっただけです。 読解力ないなあ。
まあいいや、そこは俺にも非があるし。
素直にCPANのCGI.pmって書けば良かったってことだな。 どうでもいいけど、>>233で恥かいたから取り戻したくて必死なのは
お見通しだよ。
ロジックの根本的な勘違いをたかが文言の解釈の問題で誤魔化そう
なんて虫が良すぎるんじゃない? >>245
私の読解力が欠けているためCPAN::CGIが「CPANのCGI.pm」を指しているとは分かりませんでした。
後付けで申し訳ないのですが私の指摘しているCGI.pmにはCPANで配布されているCGI.pmを含みますので
「CGI.pmはCGIに依存していないがCPANのCGI.pmはCGIに依存している」
という貴方の発言は間違いで
「CGI.pmはCGIに依存しておらずCPANのCGI.pmもCGIに依存していない」
であると考えます。
レスは誤解を生む表現を避け私のような読解力のない者でも分かるようにしていただけると助かります。 >>247
だんだん日本語が壊れてきてるぞ。簡潔に書く努力を。
依存の定義の違いだな。
CGI.pmはCGIを介さなくても動く。つまり依存していない。
しかし、CGI.pmはCGIが存在するから存在する。つまり依存している。 なんかすごいことになってるな。
CGI.pmって、QUERY_STRINGをバラす機能を持ってなかったか?
だとするとCGI使用前提のモジュールだと思うが。
「依存」とか場違いな単語出すから話が混乱するんだろ。
CGIが世から消えてもCGI.pmは何かしらの用途には使えるだろうから、
そういう意味では依存してないし、CGI前提のモジュールという観点からは
依存してるし、どっちも間違えてないから話がループしてるだけということに気づけ。 ところでperlをC++で書き直すといったプロジェクトがあったと
思いますが、どうなったかご存知の方いますか?
あとJavaで書かれたperlインタプリタを使っている人がいたら
使い心地など教えてもらえるとにっこりします。
CPAN::CGIがスラングとかwww
CGI.pmにCPANは全く関係ないし名前空間も分かってないんだろーなこいつは。
スラングの意味すらも分からない白痴だから仕方ないか 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
PCD2ILNH18