Я новичок в Perl, и искали долго и упорно для ответа на эту проблему, но я застрял
1002 * Рассмотрим следующий пример:.
my $filein = $ARGV[0];
open(SNPIN,$filein);
while(<SNPIN>)
{
chomp;
split(/\s+/);
print "$_[0]\n";
}
close(SNPIN);
Тестовый файлЯ использую следующие строки:
This is a test.
Is a test.
A test.
Этот скрипт прекрасно выполняется на наших серверах Linux (с Perl 5.10), выводит первое слово каждой строки - хотя он выдает мне следующее предупреждение:
Use of implicit split to @_ is deprecated at scan_test.pl line 7.
но когда я пытаюсь выполнить его на моей локальной машине под управлением OS X (с perl 5.12.3), я получаю следующую ошибку:
Useless use of split in void context at scan_test.pl line 7.
Use of uninitialized value $_[0] in concatenation (.) or string at
scan_test.pl line 8, <SNPIN> line 1.
Очевидно, что это фиктивный скрипт.Я унаследовал чей-то чрезвычайно длинный и сложный скрипт, который работает на наших серверах, но я хотел бы разработать его локально, не просматривая весь скрипт и переназначая все вызовы переменных по умолчанию другой переменной.Независимо от того, что я пробовал (включая «использовать v5.10;»), ничто не позволит мне использовать переменную по умолчанию на моем локальном компьютере.
Есть идеи?Помощь очень ценится.