> #!/usr/bin/perl -w > @word=qw(1 2 3 4 5 6); > $name=<STDIN>; > chomp $name; > $sw=$word[$name]; # почему тут присваивается значение на > индекс > #больше чем ввели. > print $sw,"\n"; > по идее должно присваиваться то же > ??? если не сложно отзовитесь
По умолчанию индексы массивов в Perl начинаются с нуля.
Поэтому $word[0] == 1, $word[1] == 2 и т.д.
#!/usr/bin/perl -w
@word=qw(1 2 3 4 5 6);
$name=<STDIN>;
chomp $name;
$sw=$word[$name]; # почему тут присваивается значение на индекс
#больше чем ввели.
print $sw,"\n";
по идее должно присваиваться то же
??? если не сложно отзовитесь
начальный perl01.12.01 19:50 Автор: Oleg St. Статус: Незарегистрированный пользователь
> #!/usr/bin/perl -w > @word=qw(1 2 3 4 5 6); > $name=<STDIN>; > chomp $name; > $sw=$word[$name]; # почему тут присваивается значение на > индекс > #больше чем ввели. > print $sw,"\n"; > по идее должно присваиваться то же > ??? если не сложно отзовитесь
По умолчанию индексы массивов в Perl начинаются с нуля.
Поэтому $word[0] == 1, $word[1] == 2 и т.д.