elsif ($button eq "Eintrag löschen") { # Dateien mit der entsprechenden ID heraussuchen my @files; find sub {my $file="$File::Find::name"; push @files, $file if $file =~ m/\.plog/;}, "$datadir/blog"; chomp @files; print "FILES: @files \n"; # Aus den Dateinamen eine Liste erstellen my @items; foreach my $file (@files) { # in der ersten Zeite steht der Name/die ID open my $fh, "<:encoding(utf-8)", "$file"; while (my $line = <$fh>) { chomp $line; if ($line eq "%%%ID") { # erst die zweite Zeile enthält den Namen, die erste wird daher ohne Speichern verworfen $line = <$fh>; chomp $line; print "LINE: $line \n"; # wichtig ist das $ am Ende der Regular Expression, da ja bei # Namensgleichheit von anderen Beiträgen # _1 usw. angehängt werden, und diese sonst unbeabsichtigt auch gelöscht würden #(es geht ja um die url taugliche ID, # die immer am Ende der Zeile ist! my $item = body_parameters->get("item"); print "ID: $item \n"; if ( $line =~ /$item$/) { print "MATCH \n"; push(@items, $file); last; } next; } } close $fh; } print "ITEMS: @items \n"; #unlink @items; redirect uri_for("/admin/blog"); }