ようこそゲスト さん ユーザー登録 ログイン

MT4のソースコードを見て勉強しているのですが、メインスクリプトのmt.cgiに下記のような記述があります。

use strict;
use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
use MT::Bootstrap App => 'MT::App::CMS';

これらはどういう動作を行っているのでしょうか。
読み始めて即座に躓いてしまいました・・・
すみませんが、よろしくお願いいたします。 MT4のソースコードを見て勉強しているのですが、メインスクリプトのmt.cgiに下記のような記述があります。 use strict; use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'l.. を含むブックマークはてなブックマーク - MT4のソースコードを見て勉強しているのですが、メインスクリプトのmt.cgiに下記のような記述があります。 use strict; use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'l.. - 人力検索はてな

  • n_maco2 あなたも質問に答えられます! ウォッチリストに追加
  • 状態:終了 いるか
  • 回答数:1 / 45件
  • 回答ポイント:60ポイント
  • 登録:2008-01-05 03:15:17
  • 終了:2008-01-05 14:21:32
  • カテゴリー:コンピュータコンピュータ ウェブ制作ウェブ制作

1 回答者:b-wind 2008-01-05 11:52:30 満足! 60ポイント

use strict;

Perl は標準だと未定義の変数でもそのまま使えたりしてある程度以上の規模の開発には向かない。

この宣言をすることでコーディングミスなどの基本的なレベルのバグを軽減できる。

strict - 安全ではないコンストラクトを制限する Perl プラグマ


use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';

use lib 自体がライブラリの検索パスを追加する構文。

環境変数 MT_HOME が定義されていればそちらの下の lib ディレクトリを、

定義されていなければカレントディレクトリの下の lib ディレクトリをライブラリの検索パスに追加する。


use MT::Bootstrap App => 'MT::App::CMS';

これは MT 自体のアプリケーションの挙動を制御していると思われる。

まず、MT::Bootstrap パッケージを読み込み、その import メソッドの引数として、App => 'MT::App::CMS' と言う配列を渡している。

それによってどうなるかは MT 自体の中身の話なので勉強してください。

質問者:n_maco2 2008-01-05 14:21:02

ご回答ありがとうございます。

PHPと違ってperlは省略形が多すぎて読みにくくて。。。省略形は辞書も引きようがないですし(笑

色々勉強になります、ありがとうございました

おとなり質問

この質問・回答へのコメント

>PHPと違ってperlは省略形が多すぎて読みにくくて。。。省略形は辞書も引きようがないですし
それとは別の問題と思うが。どれも省略形じゃなくて正規の構文ですよ。
ちゃんとマニュアルに書いてあるし。
http://perldoc.jp/docs/perl/5.6.1/perlvar.pod

まぁ新しい言語に慣れるまではそんな感じだとは思いますが。

この質問・回答へのトラックバックこの質問・回答へのトラックバック

Movable TypeプラグインAssetExifの制作プロセス、はじめてプラグインを制作した人からの必要なリソース、勉強法、気づいた点などついていろいろと書いてみました。これからMoavleTypeプラグイ