| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Передача массива в функцию через ссылку. |
| Автор: eXeC001er 28.11.2009, 16:52 | ||
Подскажите почему не работает такая конструкция:
в итоге в $lines "1" а вовсе не ссылка, ну и соответственно конструкция my @array = @$lines; не работает. если с массивом в функцию передать еще аргумент (переписав немного функцию) то все работает на ура. в чем фишка? |
| Автор: ginnie 28.11.2009, 16:55 | ||
eXeC001er, правильный вариант
у Вас было присвоение в скалярном контексте, поэтому в $lines оказывался размер массива @_. |
| Автор: Pfailed 28.11.2009, 19:24 |
| А у меня вопрос в тему, но не очень. Кто-нибудь знает как работает функция push? Почему первым аргументом ей можно передать именно массив, а не ссылку на него? Правильно ли я понимаю, что на самом perl'e точный аналог (в плане метода передачи аргументов) функции push создать не получится? |
| Автор: Pfailed 28.11.2009, 19:46 |
| ginnie, спасибо, разобрался. |