Ein Beispiel für eine Textdatenbank IV

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Books.pm
sub line_to_record {
   my ($line) = @_;
   my @fields = split /$fieldsep/, $line;
   my $record = {};
   foreach my $fieldname (@fieldnames) {
      my $field = shift @fields;
      $field = "" unless defined $field;
      $field =~ s{$escape([0-9a-fA-F]{2})}{ chr(hex($1)) }ge;
      $record->{$fieldname} = $field;
   }
   return $record;
}

sub record_to_line {
   my ($record) = @_;
   my @fields = ();
   foreach my $fieldname (@fieldnames) {
      my $field = $record->{$fieldname};
      $field =~ s{([$escape$fieldsep]|\P{IsPrint})}{
         sprintf "%s%02x", $escape, ord($1)
      }ge;
      push(@fields, $field);
   }
   return join($fieldsep, @fields);
}

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003