Article View: pl.comp.lang.perl
Article #52542Re: Ze sciezek do struktury html
From: Stachu 'Dozzie' K.
Date: Thu, 11 Jul 2013 20:13
Date: Thu, 11 Jul 2013 20:13
67 lines
2752 bytes
2752 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
Technical Details
Message-ID:
<slrnktu4f4.d47.dozzie@jarowit.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mailReferences:
<krn11u$bnv$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> Newsgroups: pl.comp.lang.perl Subject: Re: Ze sciezek do struktury html Date: Thu, 11 Jul 2013 20:13:24 +0000 (UTC) Organization: solani.org Lines: 67 Message-ID: <slrnktu4f4.d47.dozzie@jarowit.net> References: <krn11u$bnv$1@news.dialog.net.pl> Mime-Version: 1.0 X-Trace: solani.org 1373573604 20387 eJwNy0kBgAAIBMBKnAvEEYT+EXT+4wrGhMFhfn7Ge0SVXBSNJcz0prp4FGaJ347LByrD8q8PDg0Qcw== (11 Jul 2013 20:13:24 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Thu, 11 Jul 2013 20:13:24 +0000 (UTC) User-Agent: slrn/pre1.0.0-18 (Linux) X-User-ID: eJwNycEBwEAEBMCWcCwpJ1b0X8JlvhMHCqYj4LGxumMyKTCk1+lE4y3+QRHrUfrzGYKYZIldDfUQmQ== Cancel-Lock: sha1:x4BV2sIV14zEcXDCxkRf2HdcyRE= X-NNTP-Posting-Host: eJwNycERwDAIA7CVCsQujBN8sP8Irb5C0Kj3EDxY7HS231ZlmP5wdiwxcnXUs1m4YTsGN63sAy3EEYs= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit