2012-11-23 4 views
2

기존의 perl 파일을 새 서버로 옮기려고하는데 오류가 발생했습니다 (error_log 파일). 그것은 이전 서버에서 작동합니다. 나는에 액세스 할 때내가 얻는 이유 : 정의되지 않은 서브 루틴

가 : http://2x.29.xx.xx/admin/web.pl

내가 오류 얻을 :

[error] Undefined subroutine &web_main::main called at /var/www/path/web.pl line 40.

web.pl 파일을,이처럼 보일 :

#!/usr/bin/perl -w 

use strict; 
use warnings; 

use lib '/var/www/web'; 

our $var = '/var/www/web'; 
our $var1; 
our $var2; 
use web_main qw($var $var1 $var2); 

web_main::main(); # Line 40 

web_main.pm을 파일 (/ var/www/web)은 다음과 같습니다.

#!/usr/bin/perl -w 

package web_main; 

use strict; 
use warnings; 

sub main 
{ 

    # Lots of code here... removed for brevity 
} 

무엇이 잘못 되었습니까?

+1

web.pl에서'use web_main; '해야한다고 생각합니다. – squiguy

+0

그 코드에서 그 오류를 얻지 못할 것입니다. – ikegami

+1

@squiguy, 아니, 그는 web_main을로드 중입니다. – ikegami

답변

0

필자는 실제로 Perl 전문가는 아니지만 메인 서브 루틴을 내보낼 필요가 있습니까? Exporter을 사용할 수 있습니다.

관련 문제