Thread Byte raw format in String umwandeln (Glib::IO::File->get_contents) (18 answers)
Opened by Max_Perlbeginner at 2016-05-31 10:53

Gast janus
 2016-06-02 07:42
#184869 #184869
Der Sinn eines Data Access Layers besteht darin, bei einer Persistierung Low-Level-Operationen (IO) vom wahlfreien Zugriff (Random Access) zu trennen. Letzeres geschieht über einen abstrakten Datentyp, bspw. einen Hash-of-Hashes nach dem Muster Entity/Attribute/Value.

Zum Beispiel:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Layer laden
    # Lade den Data Access Layer
    $self->{DAL} = FastEAV->new(
        file => $self->{FILEDIR}."/".$self->eav('file'),
        lock => $self->eav('edit') ? 1 : 0,
        auto => 0
    ) or die $@;




# einen Hash einchecken
        my %hunt = (
            title => $self->trim($self->param('title')),
            descr => $descr,
            body  => $self->trim($self->param('body')),
        );
        
        # Neue Nummer oder vorhandene Nummer
        my $number = $self->param('lfdnr') ? $self->param('lfdnr') : $self->{DAL}->lfdnr;

        $self->{STASH}{lfdnr} = $number;
        $self->{DAL}->checkin($number, %hunt) or die $@;
        
        $self->{DAL}->write or die $@;


Entity ist eine fortlaufende Nummer, vom DAL selbst verwaltet. Attribute => Value ein gewöhnlicher Hash.

Anwendungsbeispiel: http://perl.rolfrost.de/notes.html
Last edited: 2016-06-02 07:53:47 +0200 (CEST)

View full thread Byte raw format in String umwandeln (Glib::IO::File->get_contents)