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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возможно ли просуммировать числа из файла? 
V
    Опции темы
ПапаМишка
  Дата 21.8.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Бухгалтер моя мечтает об одной программке...
есть файлик с кучей информации, оттуда я вытаскиваю строки в которых прописана комиссия,
вот скриптик

Код

$div = "-----------------------------------------------------\n";
foreach $file (<pr*.txt>) {
  open(MYFILE, $file)||die;
  @star=<MYFILE>;
  close(MYFILE);
  
  @nado= grep {m/Комиссия:/} @star;
  
  ($out_file = $file) =~ s/txt$/out/;
  open(NFILE, ">$out_file")||die;
  print NFILE @nado;
  close(NFILE); 
}

в итоге получается файл со следующим содержанием
Код

Комиссия:                   2.39
Комиссия:                   2.39
Комиссия:                   0.96
Комиссия:                  23.81
Комиссия:                   4.77
Комиссия:                   2.39
Комиссия:                   2.39
Комиссия:                   4.77
Комиссия:                   2.39
Комиссия:                   2.39
Комиссия:                   2.39


возможно ли сделать что бы была в конце файла была строчка в которой была бы прописана сумма всех цифр?

PM ICQ   Вверх
ginnie
Дата 21.8.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



Уважаемый ПапаМишка, предлагаю свой вариант

Код

open(NFILE, ">$out_file")||die;
my $sum = 0;
my $value;
for my $line (@nado) {
    print NFILE $line;
    (undef, $value) = split(/\s+/, $line);
    $sum += $value;
}
print NFILE "Сумма комиссий: $sum\n";
close(NFILE);



Это сообщение отредактировал(а) ginnie - 21.8.2008, 14:58


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
ПапаМишка
Дата 21.8.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ginnie,

Огромное спасибо за оперативность,

к сожалению не работает почему то =(

или я что то не так делаю?

Добавлено через 3 минуты и 10 секунд
ой, уже после Вашей редакции РАБОТАЕТ!!! спасибо!
PM ICQ   Вверх
ginnie
Дата 21.8.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



Что именно не работает? Ошибки есть?


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
ПапаМишка
Дата 21.8.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



всё работает!

Бухгалтерша обещала поцеловать  smile 


PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


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

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


 




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


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

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