Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Ponomarenko                2:5030/1067.10 27 Jan 2003  19:48:18
 To : All
 Subject : В чем проблема?
 -------------------------------------------------------------------------------- 
 
 Есть такой файл:
 === Cut ===
 user3 group3 comment
 user1 group1
 user2 group2
 user1 group2 comment
 user4
 user3 group2
 user2 group4 comment
 user3 group1
 === Cut ===
 
 Hужно вывести список юзеров отсортированный в обратном порядке с указанием всех 
 групп, в которые он входит, т.е. :
 user4:
 user3: group1, group2, group3
 user2: group2, group4
 user1: group1, group2
 
 Вот это работает неправильно:
 === Cut ===
 #!/usr/bin/perl -w
 use strict;
 my($rec,$user,$group,$comment,$key);
 my %hash;
 open(DATA,"data");
 print"------------------------------\n";
 while(defined($rec=<DATA>)) {
     chomp($rec);
     ($user,$group)=split(/ /,$rec);
     if(!defined($group)) {$hash{$user}="";}
     if(defined($group) and !defined($hash{$user})) {$hash{$user}=$group;}
     if(defined($group) and defined($hash{$user})) {$hash{$user}=$hash{$user}.", 
 $group";}
     }
 close(DATA);
 foreach $key(reverse sort keys %hash) {
     print"$key: $hash{$key}\n";
     }
 === Cut ===
 
 Выводит какую-то ахинею. Что-то типа "user1:" вообще нет. Собственно сабж!
 
 Alexander
 
 --- GoldED+/386 1.1.4.7
  * Origin:  (2:5030/1067.10)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 В чем проблема?   Alexander Ponomarenko   27 Jan 2003 19:48:18 
 Re: В чем проблема?   Ivan Ivon   28 Jan 2003 11:04:38 
 Re: В чем проблема?   Vladimir Podgorny   28 Jan 2003 12:11:48 
Архивное /ru.perl/45153e35801a.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional