Thread Textdatei mit Inhalt erstellen? (19 answers)
Opened by Naix at 2017-02-02 10:54

rosti
 2017-02-03 07:16
#186009 #186009
User since
2011-03-19
3194 Artikel
BenutzerIn
[Homepage]
user image
Moin;

Du erstellst das Array und dann serialisierst Du es als Bytesequenz in einen Datei. Zum Serialisieren gibt es verschiedene Möglichkeiten, untenstehend zwei davon:

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
26
27
28
29
30
31
32
33
34
use strict;
use warnings;
use JSON;
use Storable qw(freeze);
use IO::File;

my @arr = (1,2,3,4); # sei zufällig
my $j = JSON ->new;

# Array als JSON-String
# übergeben wird eine Referenz auf das Array
file_put_content('arrayfile.json', $j->encode( \@arr ));

# Array als Binärsequenz
# übergeben wird eine Referenz auf das Array
file_put_content('arrayfile.bin', freeze( \@arr ));


Edit:
# Array als Text, jede Zahl auf eine eigene Zeile
file_put_content('arrayfile.text', join("\n", @arr ));



# Schreibe Sequenz
sub file_put_content{
    my $filename = shift;
    my $content = shift;
    
    my $fh = IO::File->new;
    $fh->open($filename, O_CREAT|O_TRUNC|O_BINARY|O_RDWR) or die $!;
    $fh->print( $content );
    $fh->close;
}


Das ist sozusagen die alte Schule nach Niklaus Wirth was die Trennung von Bytesequenzen vom wahlfreien Zugriff betrifft.
Und ein bischen Modern Perl mit IO:File.
Und ein bischen mehr Struktur ;)

Und später ist genau das immer wieder dasselbe.

MfG
Last edited: 2017-02-04 13:50:17 +0100 (CET)

View full thread Textdatei mit Inhalt erstellen?