• ベストアンサー

Perlソースコードをコンパイルすることはできないのでしょうか?

Perlはインタプリタ言語とされますが、実行の際には機械語に翻訳されているのでしょうから、機械語のコードをオブジェクトファイルとして保存して、そのまま使うことはできないのでしょうか? そうすれば実行するときに翻訳する必要がなく、実行速度が多少上がるのではないかな、と思いました。 直接関係のない関連事項でも、宜しくお教えください

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/lib/Pod/perlrun.html Perl のコマンドラインオプション -u を指定するとスクリプトをコンパイル後コアダンプします。 undump コマンドを使ってcore ファイルから実行ファイルが作成できるというようなことが上記サイトの説明として載っています。 あと、ツールでPerl2exe というのもあるらしいです。

その他の回答 (4)

回答No.3

バイトコードを生成したい、ということでしょうか。 参考URL中の、「バイトコードとコンパイラー・バックエンドを使う」の辺りを参考にして下さい。 ただし、どんな場合でも有効に働くわけではありません。 アルゴリズムによる最適化を第一に考え、バイトコードの使用は「極限まで」速くしたい場合の最後の手、という気がしますけどね。

参考URL:
http://www-06.ibm.com/jp/developerworks/linux/041119/j_l-optperl.html
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

前提が間違っています。 内部表現に変換されてそれを解釈実行するルーチン群が動いているのであって、 JavaのVMのように機械語レベルのコードまで落ちることはありません。 実行速度を上げたいということなら、perlのFAQにありますので 探してみてください。

参考URL:
http://perldoc.jp/docs/perl/5.6.1/perlfaq3.pod
  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

PerlではなくてCなどをCGIとして使用すればよいのではないでしょうか?

naho1986
質問者

お礼

なるほど それならコンパイル済みですね 参考になりました

関連するQ&A

専門家に質問してみよう