Hallo,
nachdem unter meiner Distribution archlinux das Perl-Paket von 5.16.3 nach 5.18.0 aktualisiert wurde, habe ich festgestellt, dass das VDRSeriesTimer-Skript nicht mehr einwandfrei die Aufnahmetitel aus den eplists erzeugt:
Es vertauscht zufällig die Titel, von Aufruf zu Aufruf:
mal so (falsch):
S02E03_-_007._Schottys KampfSerien~Der Tatortreiniger~
und mal so (richtig):
Serien~Der Tatortreiniger (7)~S02E03_-_007._Schottys Kampf
Nach einem Downgrade funktioniert wieder alles so, wie es soll.
Ich habe das Newslog zum Perl-Release 5.18.0 gelesen und es liegt wohl am Hash-Handling:
https://metacpan.org/module/RJ…/pod/perldelta.pod#___pod
Von Perl verstehe ich allerdings nichts. Morgen schaue ich mir das noch einmal genauer an, aber ich sehe da eher schwarz und hoffe auf externe Hilfe.
EDIT:
Nach ein paar kurzen Tests, scheint es so zu funktionieren:
diff --git a/src/Eplists.pm b/src/Eplists.pm
index 5607019..285b8f4 100644
--- a/src/Eplists.pm
+++ b/src/Eplists.pm
@@ -28,6 +28,7 @@ my $DisableMailSend = 0;
use warnings;
use strict;
use Exporter;
+use Tie::IxHash;
BEGIN {
my($error, @Modules, $mod);
@@ -1054,10 +1055,12 @@ sub UpdateListFileOnDisk {
# Create ouput string #
#######################
sub CreateOutputString {
- my %OutputData = ( Prefix => [()],
+ my %OutputData = ();
+ tie %OutputData, "Tie::IxHash" or die $!;
+ %OutputData = ( Prefix => [()],
Data => [()]
);
-
+
$OutputData{Prefix}[0] = $Config{FormatPrefix};
for (my $i = 0; $i < scalar @{$SeriesData{EpisodeOverAll}}; $i++) {
Alles anzeigen
So long,
Matthias