2011-01-15 2 views
1

Новичок здесь, я пытаюсь использовать модуль Bioperl в среде perl. Моя конфигурация являютсяОшибка тестирования Bioperl в Perl

  • Windows Vista/32
  • Активный Perl 5.10.1
  • Bioperl 1.6.1
  • Padre и Per Studio 2010 IDE

Для установки ориентира я прошел BioPerlWiki и используется метод PPM. Я успешно установил его.

Чтобы проверить, был ли Bioperl работать я futher следовал:

use Bio::Perl; // Is working without error 

Но когда я попытался сделать futher проверки как

#!C:\Perl\bin 
use Bio::Perl; 
use strict; 
$seq_object = get_sequence('swissprot',"ROA1_HUMAN"); 
write_sequence(">roa1.fasta",'fasta',$seq_object); 

Тогда я получаю ошибку

Global symbol "$seq_object" requires explicit packages name at c:\.......\example.pl line 4 
Global symbol "$seq_object" requires explicit package name at c:\........\example.pl line 5 
Execution of C:\...... \example.pl aborted due to compilation erros 

I пошел на c:\perldoc Bio::Perl и знал, что это использует, еще больше я попытался проследить ошибки th грубый Google тоже, но не знаю, что случилось.

Я знаю, что Perl и bioperl тоже будут в системном пути. Может ли кто-нибудь указать мне, какие глупые ошибки я делал?

попросит bioperl список рассылки, но я знаю их réponse не так быстро, как StackOverflow

Спасибо

+2

Помимо превосходного ответа Юджина, вы должны рассмотреть возможность чтения нескольких базовых учебников Perl по perldoc (в отличие от документации модуля BioPerl) - это сэкономит вам значительное количество времени и усугубляется. http://perldoc.perl.org/index-tutorials.html – DVK

ответ

2

Вы можете использовать diagnostics прагму расширить диагностику, испускаемые Perl:

use diagnostics; 
# your_code 

Это даст вам подробное объяснение:

You've said "use strict" or "use strict vars", which indicates 
that all variables must either be lexically scoped (using "my"), 
declared beforehand using "our", or explicitly qualified to say 
which package the global variable is in (using "::").