2010-07-01 6 views
-1

Приведенный ниже код не печатает ничего. Пожалуйста, помогите мне в том же.Как выполнить проверку CVS с помощью Perl?

use Cvs; 

my $obj = new Cvs cvsroot => ":pserver:pramodh\@129.227.152.22:/data/cvs" or die $Cvs::ERROR; 

$obj->checkout(package) || print "ERROR"; 
my @modules = $obj->module_list(); 
print "@modules"; 

Если я работаю в командной строке она отлично работает с этими командами:

[[email protected] pramodh]# CVSROOT=:pserver:[email protected]:/data/cvs 
[[email protected] pramodh]# export CVSROOT 
[[email protected] pramodh]# cvs login 
Logging in to :pserver:[email protected]:2401/data/cvs 
CVS password:pramodh 
[[email protected] pramodh]# cvs co packages 
cvs checkout: Updating packages 
+0

Pramodh, добро пожаловать в переполнение стека. Вы можете сделать ваши вопросы и ответы более читабельными и привлекательными, особенно те, которые содержат «код»; см. http://stackoverflow.com/editing-help. Я отредактировал вашу публикацию для вас. – daxim

+2

Что делает ваш код, если вы добавляете 'use strict; использовать предупреждения; 'наверх? – Ether

+0

Я получил это от добавления строгого использования; использовать предупреждения; Запрещенные пакеты «запрещены» при использовании «строгих подсетей» в строке cvs.pl 7. Выполнение cvs.pl отменено из-за ошибок компиляции. – Pramodh

ответ

1

Вы должны указать ваш checkout аргумент.

$obj->checkout('packages') or warn "ERROR"; 

package - зарезервированное ключевое слово в Perl.

+0

его «пакеты», его не работает со мной. – Pramodh

Смежные вопросы