|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Pashchenko 2:5062/36 24 Nov 2004 23:08:10 To : All Subject : Отсортировать список - новая проблема -------------------------------------------------------------------------------- Hа данный момент программа выглядит так: [--Это начало fconf2gded.pl--] #/usr/bin/perl -w #use strict; #@echoes={}; sub rec{ my $filename = shift; local *F; open(F, '<' . $filename) || die("$filename: $!"); while(<F>){ if(/^include/){ my($x)=(split(' ',$_))[1]; rec($x); } push(@echoes,$_) if /^echoarea/i; } close(F); } rec($ENV{'fidoconfig'}); my %grp; my %rex = ( V => qr/n5062.*/i, H => qr/hardw/i, L => qr/linux|unix/i, G => qr/game/i, T => qr/guitar/i, D => qr/delphi/i, P => qr/perl/i, >> F => qr/fido/i, # O => qr/.*/i ); for my $ech (@echoes) { for my $let (keys %rex) { if ($ech =~ $rex{$let}){ push (@{$grp{$let}}, $ech); $ech=undef; } } } @{$grp{O}} = grep { defined } @echoes; foreach $l (keys(%grp)){ print "===$l===\n"; #Печать загаловка/разделителя эхи foreach $e (@{$grp{$l}}){ print "$l=$e"; } } [--А это кончало fconf2gded.pl--] Если убрать строчку, помеченную квотингом - все работает так, как надо. Если же оставить - все эхи переползают в группу F... Почему? Hепонятно! Есть мысли почему это так? Gxis revido _All_! ... Win2k uptime: 0d 0h 58m 15s 45ms --- Phone(44373) Pager(005)3880173 E-mail(point212<at>mail.ru) ICQ(1911486) * Origin: В сети каждый показывает своё истинное лицо. (2:5062/36) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/184541a4dc8f.html, оценка из 5, голосов 10
|