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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Leonid Subbotin                      2:5007/16.1    04 Aug 2000  20:25:43
 To : All
 Subject : advenced sort
 -------------------------------------------------------------------------------- 
 
 
 есть например адреса поинтов|нодов
 
 @mas=('2:5007/16.1','2:5007/1','2:5000/123.12','1:345/12');
 
 как ?
 
 вот мой способ, но надеюсь бывает более интересный/красивый/быстрый ?!
 @addr=sort {retr($a) <=> retr($b) || retz($a) <=> retz($b) || int(retnp($a))
 <=> int(retnp($b)) || length(retnp($a)) <=> length(retnp($b)) || retnp($a) <=>
 retnp($b)} @mas; # это все одна строка 8-( )
 
 sub retr {
 my $line=shift;
 $line=~s/^(\d+)/$1/;
 return($line);
 }
 
 sub retz {
 my $line=shift;
 $line=~s/^\d+\:(\d+)/$1/;
 return($line);
 }
 
 sub retnp {
 my $line=shift;
 $line=~s/^\d+\:\d+\/([\d\.]+)/$1/;
 return($line);
 }
                                                        Всегда с вами Sln !
 --- GoldED+/W32 1.1.4
  * Origin: Sln Station (2:5007/16.1)
 
 

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

 Тема:    Автор:    Дата:  
 advenced sort   Leonid Subbotin   04 Aug 2000 20:25:43 
Архивное /ru.perl/20685398ad507.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional