🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52264

Re: tablica hashy

#52264
From: stas53
Date: Tue, 05 Jul 2011 14:32
71 lines
4121 bytes
On 5 Lip, 11:19, stas53 <sta...@gazeta.pl> wrote:
> Też bym zalecał postudiowanie struktur PERLowych,
> ale w odróżnieniu od wcześniej piszących Kolegów,
> daję poniżej kompletną odpowiedź na Twoje pytania.
> Taką ma dziś fantazję.
>               Stanisław Romański
>
>     use strict;
>     use Data::Dumper;
>
>     # po pierwsze, prawdopodobnie chciales, zeby identyfikatorem byl
> lancuch '001' a nie liczba '1'
>     # po drugie, nie wiem czemu liczba wplat i ich suma sie nie
> zgadzaly ;-(
>     my %raporty = (
>        '001' => {
>            nrRaportu         => "001",
>            nazwaPliku        => "0001.txt",
>            dataRaportu       => "20110705",
>            dataKswiegowania  =>  "20110705",
>            iloscWplat        =>  "2",
>            sumaWplat         =>  "102",
>            wplaty => [
>                { nrWplaty => "001", dataWplaty => "20110630", kwota =>
> 36,  },
>                { nrWplaty => "002", dataWplaty => "20110630", kwota =>
> 66,  },
>                      ],
>                 },
>
>                 );
>
>     print Dumper(\%raporty);
>
>     # ja lubie poslugiwac sie referencja do hasha a nie hashem
>     my $rraporty = \%raporty;
>
>     # nowa wplata do raportu '001'
>     my $nowa_wplata_nrWplaty = '003';
>     my $nowa_wplata_kwota = 67;
>     my $nowa_wplata_pola = { nrWplaty => $nowa_wplata_nrWplaty,
>                                            dataWplaty => "20110701",
>                                            kwota =>
> $nowa_wplata_kwota, };
>     push @{$rraporty->{'001'}->{'wplaty'}}, $nowa_wplata_pola;
>            $rraporty->{'001'}->{'sumaWplat'} += $nowa_wplata_kwota;
>            $rraporty->{'001'}->{'iloscWplat'} ++;
>
>    # nowy raport
>     $rraporty->{'002'}->{'wplaty'} = {
>            nrRaportu         => "002",
>            nazwaPliku        => "0002.txt",
>            dataRaportu       => "20110706",
>            dataKswiegowania  =>  "20110706",
>            iloscWplat        =>  "2",
>            sumaWplat         =>  "46",
>            wplaty => [
>                { nrWplaty => "001", dataWplaty => "20110630", kwota =>
> 22,  },
>                { nrWplaty => "002", dataWplaty => "20110630", kwota =>
> 24,  },
>                      ],
>                 };
>
>     print Dumper($rraporty);

Z poprawką, że linijka za '# nowy raport ' powinna być
       $rraporty->{'002'} = {


;-)  S.R.
Technical Details
Message-ID: <ece75f8c-23a6-4342-b07a-0ac2c579242a@k16g2000yqm.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!k16g2000yqm.googlegroups.com!not-for-mail
References: <iut4oo$773$1@news.onet.pl> <20110704194629.6b8b4567@polsl.pl> <iuugbb$uhm$1@solani.org> <cc558e97-8acf-4bc7-b8f4-38613b2ef6f4@m10g2000yqd.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!k16g2000yqm.googlegroups.com!not-for-mail
From: stas53 <stas53@gazeta.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: tablica hashy
Date: Tue, 5 Jul 2011 07:32:03 -0700 (PDT)
Organization: http://groups.google.com
Lines: 80
Message-ID: <ece75f8c-23a6-4342-b07a-0ac2c579242a@k16g2000yqm.googlegroups.com>
References: <iut4oo$773$1@news.onet.pl> <20110704194629.6b8b4567@polsl.pl> <iuugbb$uhm$1@solani.org> <cc558e97-8acf-4bc7-b8f4-38613b2ef6f4@m10g2000yqd.googlegroups.com>
NNTP-Posting-Host: 83.6.99.144
Mime-Version: 1.0
X-Trace: posting.google.com 1309876765 26018 127.0.0.1 (5 Jul 2011 14:39:25 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 5 Jul 2011 14:39:25 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: k16g2000yqm.googlegroups.com; posting-host=83.6.99.144; posting-account=Hi6fFQoAAAAROXwHY1GBBYvlZpboIsvY
User-Agent: G2/1.0
X-Google-Web-Client: true
X-Google-Header-Order: ARLEUHNKC
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EasyBits GO v1.0; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit