![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Suppir |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Доброе время суток!
Есть структура следующего вида: $штат{ИТ-отдел}{Иванов}{зарплата}=7 $штат{ИТ-отдел}{Иванов}{опыт}=3 $штат{ИТ-отдел}{Петров}{зарплата}=10 $штат{ИТ-отдел}{Петров}{опыт}=5 $штат{бухгалтерия}{Сидорова}{зарплата}=8 $штат{бухгалтерия}{Сидорова}{опыт}=2 $штат{бухгалтерия}{Кузнецова}{зарплата}=12 $штат{бухгалтерия}{Кузнецова}{опыт}=3 $штат{продажи}{Зайцев}{зарплата}=8 $штат{продажи}{Зайцев}{опыт}=1 Необходимо вывести эту структуру в текстовые файлы: 1) каждый отдел выводится в отдельный файл (ИТ-отдел.txt, бухгалтерия.txt, продажи.txt) 2) необходимо выполнить сортировку по зарплате Например, файл "ИТ-отдел.txt" должен выглядеть так: Петров, зарплата - 10, опыт - 5 Иванов, зарплата - 7, опыт- 2 файл бухгалтерия.txt будет выглядеть так: Кузнецова, зарплата - 12, опыт - 3 Сидорова, зарплата - 8, опыт - 2 Подскажите, как вывести эту информацию? Добавлено через 2 минуты и 18 секунд Мне кажется, сначала нужно сделать сортировку по отделам (чтобы один раз создавать файл), а потом сортировку по зарплате. Но что-то не выходит :( Это сообщение отредактировал(а) Suppir - 3.10.2010, 21:54 |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
use IO::File;
foreach my $dep (keys %штат) { unless (exists $штат{ $dep }->{'io'}) { $штат{ $dep }->{'io'} = new IO::File "> $dep.txt"; } foreach my $sname (keys %{ $штат{ $dep } }) { ... } } |
|||
|
||||
Suppir |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
arto, а какой потом дескриптор указывать для печати?
print IO "..." выдает ошибку "Not a HASH reference at c:\!\3.pl line 66" а print $firm{$dep} "..." тоже вызывает ошибку Это сообщение отредактировал(а) Suppir - 4.10.2010, 13:12 |
|||
|
||||
Suppir |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
И еще момент - как реализовать сортировку по зарплате?
|
|||
|
||||
Suppir |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 20.4.2009 Репутация: нет Всего: нет |
Все, вопросы снимаются. Спасибо!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |