Thread View: pl.comp.lang.perl
4 messages
4 total messages
Started by Robert Wysocki
Thu, 11 Jul 2013 19:29
Ze sciezek do struktury html
Author: Robert Wysocki
Date: Thu, 11 Jul 2013 19:29
Date: Thu, 11 Jul 2013 19:29
14 lines
426 bytes
426 bytes
Bry, Cos mi dzis myslenie nie idzie, moze bedziecie miec jakies pomysly; mam wiele scalarow postaci: 'grupa/podgrupa/host/wykres.png' z tym, ze podgrup moze byc [0,inf) Chce na podstawie tych sciezek wygenerowac zagniezdzona strukture (html) taka, ze grupa zawiera wszystkie swoje hosty i podgrupy, podgrupa zawiera wszystkie swoje hosty i podgrupy itd a kazdy host zawiera swoje wykresy. Jakies pomysly na algorytm? R.
Re: Ze sciezek do struktury html
Author: "Stachu 'Dozzie'
Date: Thu, 11 Jul 2013 20:13
Date: Thu, 11 Jul 2013 20:13
67 lines
1494 bytes
1494 bytes
On 2013-07-11, Robert Wysocki <rmwpl.spam@gmail.com> wrote: > Bry, > > Cos mi dzis myslenie nie idzie, moze bedziecie miec jakies pomysly; > mam wiele scalarow postaci: > 'grupa/podgrupa/host/wykres.png' > z tym, ze podgrup moze byc [0,inf) > > Chce na podstawie tych sciezek wygenerowac zagniezdzona strukture (html) > taka, ze grupa zawiera wszystkie swoje hosty i podgrupy, podgrupa zawiera > wszystkie swoje hosty i podgrupy itd a kazdy host zawiera swoje wykresy. > > Jakies pomysly na algorytm? 1. Rozbiæ skalar. 2. Rozbity skalar umie¶ciæ w drzewiastej strukturze danych. * wêze³ odpowiadaj±cy wykresowi to li¶æ * wêze³ odpowiadaj±cy podgrupie ma dwa pola: listê hostów i hasz grup 3. Powtarzaæ. Co¶ w tym stylu: #v+ #!/usr/bin/perl use warnings; use strict; my @data = <DATA>; chomp @data; my $root_struct = { hosts => [], groups => {}, }; for my $d (@data) { my @parts = split m[/], $d; my $host = pop @parts; my $where = $root_struct; for my $p (@parts) { $where->{groups}{$p} ||= { hosts => [], groups => {} }; $where = $where->{groups}{$p} } push @{ $where->{hosts} }, $host; } __DATA__ server/mysql/wrmysql01 server/mysql/wrmysql02 server/mysql/krmysql01 server/pgsql/krpgsql01 server/pgsql/krpgsql02 server/www/apache/wawww01 server/www/apache/wawww02 server/www/nginx/wawww03 server/www/gdproxy01 server/www/gdproxy02 server/www/gdproxy03 server/wrgeneric01 server/wrgeneric02 server/wrgeneric03 #v- -- Secunia non olet. Stanislaw Klekot
Re: Ze sciezek do struktury html
Author: Robert Wysocki
Date: Thu, 11 Jul 2013 20:37
Date: Thu, 11 Jul 2013 20:37
12 lines
421 bytes
421 bytes
Dnia Thu, 11 Jul 2013 20:13:24 +0000, Stachu 'Dozzie' K. napisał(a): > 1. Rozbić skalar. > 2. Rozbity skalar umieścić w drzewiastej strukturze danych. > * węzeł odpowiadający wykresowi to liść * węzeł odpowiadający > podgrupie ma dwa pola: listę hostów i hasz grup > 3. Powtarzać. Bardzo fajne rozwiazanie, wielkie dzieki. Gdy patrze na kod, to sie zastanawiam, dlaczego sam na to nie wpadlem :) R.
Re: Ze sciezek do struktury html
Author: "Stachu 'Dozzie'
Date: Thu, 11 Jul 2013 20:54
Date: Thu, 11 Jul 2013 20:54
21 lines
809 bytes
809 bytes
On 2013-07-11, Robert Wysocki <rmwpl.spam@gmail.com> wrote: > Dnia Thu, 11 Jul 2013 20:13:24 +0000, Stachu 'Dozzie' K. napisa³(a): > >> 1. Rozbiæ skalar. >> 2. Rozbity skalar umie¶ciæ w drzewiastej strukturze danych. >> * wêze³ odpowiadaj±cy wykresowi to li¶æ * wêze³ odpowiadaj±cy >> podgrupie ma dwa pola: listê hostów i hasz grup >> 3. Powtarzaæ. > > Bardzo fajne rozwiazanie, wielkie dzieki. > Gdy patrze na kod, to sie zastanawiam, dlaczego sam na to nie wpadlem :) Mo¿e nie robi³e¶ takich cyrków z perllol? Ja mam tendencjê do przesuwania z³o¿ono¶ci programu z instrukcji do struktur danych. Kiedy¶ mnie nawet który¶ z ch³opaków (niestety nie pamiêtam który, a nie mogê siê dokopaæ) po perlgolfie skomplementowa³, ¿e go zmusi³em do doczytania o strukturach. -- Secunia non olet. Stanislaw Klekot
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads