私はperlスクリプトを持っています。私のパーソナルマシンでは、perl(5.10.1)とまったく同じバージョンを実行していて、完璧に動作します。しかし、サーバーマシン上では、実行されないだけでなく、それは私に奇妙なエラーを与える。最近までうまく走っていて、必要なパッケージがインストールされていることを確認しました。Perlが壊れているようです: "=:見つからない"と "パッケージ:見つからない"
(それはチョーク)スクリプトの先頭:
#!/usr/bin/perl
package Hermes;
$VERSION = 3.5;
use FindBin qw($Bin);
push @INC,$Bin;
push @INC ,"/usr/local/lib/perl5/site_perl/5.10.1/";
require("Hermes_config.pm");
$install_Directory = $Config::install_Directory;
push @INC,$install_Directory; #Fix for running from rc.local
use warnings;
#use strict;
use Safe;
use POE;
use POE::Component::IRC;
use Module::Reload;
use Math::Expression::Evaluator;
出力:プログラムを開始する前に
Hermes3.0/hermes3.5.pl: 17: package: not found
Hermes3.0/hermes3.5.pl: 18: =: not found
Hermes3.0/hermes3.5.pl: 20: Syntax error: "(" unexpected
(コメントのオープンソースの著作権表示の15行は、したがって、あります行番号)。
POE、Module :: Reload、およびMath :: Expression :: Evaluatorがインストールされています(instmodshによる)、cpanはFindBinが最新であることを通知して、Safeを再インストールするとヘルプが表示されないパッケージが欠落している - それ以外にも、パッケージ名が分からないことがわかっています。パッケージ名という言葉が詰まっているようです。 Perlを再インストールすることは役に立ちませんでした(apt-get install --reinstall perlを使用して)。
私は最近、マシンのバージョンのubuntuをアップグレードしました。何かを混乱させる可能性が非常に高いので、どこから見始めるべきかについてのヒントは高く評価されます。
Btw:このようなエラーについては、perldiag:http://perldoc.perl.org/perldiag.htmlを参照してください。 「見つからない」を探します。 – musiKk
"push @INC"はトップ2で使用しないでください。 "lib"プラグマを参照してください。 –
これらはperlからのエラーではありません。 :) –