![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
PyccHeBa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 6.10.2007 Репутация: нет Всего: нет |
Почем он читает только первую строку? Мне надо в массив загнать все строки.
#!/usr/bin/perl # Include library files. # Library file for parsing excel files. # use Spreadsheet::ParseExcel; # Library file for working with databases. # use DBI; $filename = "mnogostrok.txt"; open (F1, $filename) || die ("Could not open $filename"); @data = <F1>; foreach my $i (@data) { print "$i\n"; } |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
У меня ваш код работает.
Попробуйте еще так на всякий случай:
-------------------- Died at Life.pl line 21 |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
проверьте так
![]()
Это сообщение отредактировал(а) nitr - 30.11.2007, 10:59 |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
nitr, а в чем разница использования SCALAR вместо GLOB в данном случае?
Только сейчас об этом задумался... -------------------- Died at Life.pl line 21 |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
Ну как ответить, чтобы не запутать... Я отдаю предпочтение перлу выбирать.
Это допускается с версии 5.6, этот метод называется autovivifies, получаем косвенный файловый манипулятор/(создается анонимный тип-глоб и сохраняется ссылка на него), к примеру, очень удобно с ним работать к примеру в функциях, не надо думать какой манипулятор заюзать (имя), всё автоматически. Подробнее: 1) perldoc perlfunc open, 2) Книга: "Perl: Сборник рецептов 2-е издание" параграф 7.5 ![]() Это сообщение отредактировал(а) nitr - 30.11.2007, 21:06 |
|||
|
||||
PyccHeBa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 6.10.2007 Репутация: нет Всего: нет |
Вот в чем дело. Он открывает все строки, но задает их все сразу в один элемент массива. А мне нужно чтобы массив собрал строки в разные элементы
|
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
PyccHeBa, чего-чего?
Добавлено через 26 секунд Покажите "на пальцах", я не понял вашей мысли... |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 20 Всего: 27 |
nitr, спасибо за интересную информацию. Разберусь на досуге.
-------------------- Died at Life.pl line 21 |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Такое случится только в том случае, если где-то выше была переопределена переменная $/ (INPUT RECORDS SEPARATOR) с умолчаемого значения "\n" на undef (не обязательно, чтобы этой переменной был присвоен undef в явном виде, достаточно local $/; в той же области видимости). См. пост KSURi, в котром упоминается $/: если там заменить скалярную переменную на массив, то все содержимое файла будет в первом элементе этого массива. Это сообщение отредактировал(а) amg - 3.12.2007, 07:35 |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
PyccHeBa, можно было не собирать со всех ответов, а взять только один, и просто проверить, к примеру, мой ответ не должен содержать эти ошибки, да и другие тоже
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |