dポイントプレゼントキャンペーン実施中!

以下のようなスクリプトがあるのですが、
&com::getToday();

とか

$com::VD{'BGCOLOR_CTABLE'}

の::の意味がわかりません。



printf( "<b>%d年 %d月</b><br />\n",$wyear,$wmon );
printf( "<table border=\"0\" cellpadding=\"4\" cellspacing=\"1\" bgcolor=\"%s\">\n",$com::VD{'BGCOLOR_CTABLE'} );

my ( $wtoday ) = &com::getToday();
my ( $wsodt ) = &com::getDateForm( time() - ( 60 * 60 * 24 * ( 1 - $com::VD{'RESERVE_SHUTOUT'} )));


どういういみになるのでしょうか?

A 回答 (2件)

たぶんそのスクリプトの先頭の方に


require 'foo.pl';
こんな記述があると思います。
複数行になっているかもしれません。

そしてそのfoo.plを開くと
これも先頭の方に
package com;
と記述があるはずです。

そしてfoo.pl内の変数
$baa
にアクセスするには
$com::baa
と記述する決まりなのです。

同じようにfoo.pl内の関数
sub goo () { … }
にアクセスするには
&com::goo()
とします。

このことをパッケージと言います。
「perl パッケージ」で検索するといろいろ出てきます。
http://search.goo.ne.jp/web.jsp?MT=perl+%E3%83%9 …
    • good
    • 0

com:: は「com というパッケージの中で定義された」くらいの意味です.


例えば
&com::getToday();
は「com というパッケージの中で定義されたサブルーチン getToday を呼び出す」ということ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!