duplicitni prvky
Roztocil Bohuslav
Bohuslav.Roztocil na tconsult.cz
Úterý Prosinec 21 16:38:37 MET 1999
Problem u Vas je asi v tom while() cyklu. Uvedemte si,
ze tak, jak to mate obsahuje po skonceni cyklu promenna
@data hodnoty z posledniho pruchodu cyklem.
Vy asi chcete pouzit neco takovehoto (bez zaruky):
my @vsechno = ();
while (my @radek = $st->fetchrow_array) {
push @vsechno, @radek;
}
foreach $autor (sort keys %{{ map {$_, 1} @vsechno }}) {
print "<tr><td align=\"left\">", "$autor", "</td></tr>\n";
}
$db->disconnect;
Moje puvodni odpoved funguje. Prikladam svoji debug session:
-------------------------------------------------------------- BEGIN
-----
Loading DB routines from perl5db.pl version 1.0402
Emacs support available.
Enter h or `h h' for help.
main::(-e:1): ''
DB<1> @vsechno = (AAA, BBB, AAA, AAA, BBB, CCC)
DB<2> @data = sort keys %{{ map {$_, 1} @vsechno }}
DB<3> print join ' | ', @data
AAA | BBB | CCC
DB<4> print join ' | ', @vsechno
AAA | BBB | AAA | AAA | BBB | CCC
DB<5>
---------------------------------------------------------------- END
-----
Bob
> -----Původní zpráva-----
> Od: Pavel Kunc [mailto:kupa na cmail.cz]
> Odesláno: 21. prosince 1999 14:34
> Odesláno do: cz.comp.lang.perl
> Konverzace: duplicitni prvky
> Předmět: Re: duplicitni prvky
>
>
> >>potreboval bych poradit jak dostat z pole duplicitni polozky.
> >>Mam treba pole @vsechno, ktere obsahuje {AAA, BBB, AAA,
> AAA, BBB, CCC}.
> >>Jakkym zpusobem se dostanu k @data, ktere bude obsahovat
> jen {AAA, BBB,
> >>CCC}?
>
> >Treba
> > @data = keys %{{ map {$_, 1} @vsechno }};
> >resp.
> > @data = sort keys %{{ map {$_, 1} @vsechno }};
> >aby to bylo setridene jako v zadani.
> >Bob
>
>
> Nejak mi to nefunguje, vypisuje mi to jen posledni hodnotu
> pole, tedy CCC.
> Potrebuju to pouzit v tomhle:
>
> while (@vsechno = $st->fetchrow_array)
> {
> @data = keys %{{ map {$_, 1} @vsechno }};
> print @vsechno; # tady je jeste kopletni.
> }
>
> foreach $autor (@data)
> {
> print "<tr><td align=\"left\">", "$autor",
> "</td></tr>\n"; #Tady by
> se prave meli tisknout autori a tiskne se jen posledni
> }
> $db->disconnect;
>
> KuPa
>
>
Další informace o konferenci Perl