Thread Frage der Zweckmäßigkeit
(17 answers)
Opened by rosti at 2025-03-10 15:50
Ich habe da mal wieder ein Modul am Wickel. Es vereint verschiedene Methoden als ein Interface für die Raw-Dateien meines neuen Blog.
Der Konstruktor sieht so aus: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 sub new{ my $class = shift; my %cf = ( path => "/vars/wwws/vhosts/auth/files/blog_raw", name => '', atts => [qw(title descr parent ctime)], data => {}, @_); my $self = bless{}, $class; return eval{ my $fh = IO::File->new(); my $perms = keys %{$cf{data}} ? O_RDWR|O_BINARY|O_CREAT : O_RDWR|O_BINARY; $fh->open("$cf{path}/$cf{name}", $perms) or die $!; $self->{ATTS} = $cf{atts}; $self->{FH} = $fh; $self->{NAME} = $cf{name}; $self->{BIN} = keys %{$cf{data}} ? $cf{data} : $self->_parse(); $self; } } Und was jetzt wirklich neu daran ist, ist der Umgang mit den Berechtigungen auf die jeweilige Dateien. Also ich habe mir gedacht, daß es die Absicht, eine Datei neu anzulegen, nur gibt wenn dem Konstruktor die Daten übergeben werden die da rein sollen. Ein O_CREAT-Flag hätte zwar auf einen bestehende Datei auch keine Auswirkung, jedoch könnte O_CREAT auch dazu führen eine Datei anzulegen wenn das gar nicht beabsichtigt ist. Und zwar eine leere Datei. Trennt Ihr das auch so auf diese Art und Weise? Last edited: 2025-03-11 14:26:18 +0100 (CET) |