Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функция - chomp, пом.найти определение понятия 
:(
    Опции темы
Kari
Дата 8.8.2006, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 12.6.2006

Репутация: нет
Всего: нет



Добрый день.

Извините за ламерский подход к программированию. Ковыряю скрипт, наткнулась на chomp, поиск не дал результата. Помогите разобраться с чем едят этот chomp?

Заранее благодарна.

----часть кода-----
open allvotes, "<text/votes.txt";
$num=0;
while (<allvotes>)
{
$num++;
chomp;
@vote[$num] = $_;
}
close allvotes;
----часть кода-----

С уважением, Kari.
PM MAIL   Вверх
Nab
Дата 8.8.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 25.3.2006
Где: Kiev

Репутация: 3
Всего: 37



Большинство функций и операций Perl при отсутствии имени аргумента, используют переменную $_

В Вашем случае это расписывается так:

Код

# открываем файл на чтение
# кстати очень не аккуратно, нет проверки ошибок...
open allvotes, "<text/votes.txt"; 

# инициализируем некую переменную.... абсолютно не важна для сути понимания работы функции chomp
$num=0;

# Читаем из файловой переменной в дефолтную $_
while (<allvotes>)
{

# инкремен некой переменной :)
$num++;

# chomp удаляет из конца переданной ей строки "терминатор", 
# который в текущий момент установлен в переменной $/
# возвращает количество удаленных символов
# как правило используется для удаления символа перевода строки в конце строк 
# считанных из многострочного вместилища...
# так как аргумент не указан то используется $_
# ну и возвращаемое значение как правило тоже нафиг никому не нужно :) 
# вот и получается просто chomp :)
chomp;

# ну вот теперь наша обработанная строка 
#прочитанная из файла заносится в массив под индексом непонятной инкрементирующей переменной....
$vote[$num] = $_;
}

# Дык тут надеюсь понятно... закрываем наш файловый манипулятор...
# хоть это не забыли сделать....
close allvotes;


Это сообщение отредактировал(а) Nab - 13.9.2006, 03:07


--------------------
 Чтобы правильно задать вопрос нужно знать больше половины ответа...
Perl Community 
FREESCO in Ukraine 
PM MAIL   Вверх
amg
Дата 9.8.2006, 06:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 9
Всего: 50



 smile А еще файловые переменные лучше называть большими буквами и вместо "@vote[$num] = $_;" писать "$vote[$num] = $_;",  а то perl -w  будет ругаться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1966 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.