Hi Dave,
> Von: Dave Rolsky <[email protected]>
> Gesendet: Freitag, 17. November 2023 23:29
> An: Zacharias, Norbert <[email protected]>
> Cc: [email protected]
> Betreff: Re: Missing *pm files for DateTime::Locale
> Hi Norbert,
> The way the locale data is packaged changed a while back in the 1.00 release
> in
> 2015. There's no longer a `.pm` file per locale. If you want to preload locale
> data, you should just call `DateTime::Locale->load($locale)`.
Thanks for this information.
> I'm guessing you have some `Storable`-serialized `DateTime` objects that
> included pre-1.00 locales. The only way to thaw them is probably to install an
> older `DateTime-Locale` release.
I have made a small test script
use Storable qw(nstore retrieve);
my $storfile ='./teststorable.dat';
my %testh=(
'eins' => 1,
'zwei' => 2);
nstore(\%testh,$storfile);
my $tref = retrieve($storfile);
print join("\n",keys %$tref);
which worked without any problems!
Then I tried to retrieve an file which was produced some time before and get
the know error.
Investigating the dat file yields:
00000180 07 52 53 44 46 69 46 6f 14 13 42 13 02 17 44 61 |.RSDFiFo..B...Da|
00000190 74 65 54 69 6d 65 3a 3a 4c 6f 63 61 6c 65 3a 3a |teTime::Locale::|
000001a0 65 6e 5f 55 53 05 65 6e 5f 55 53 42 13 02 1c 44 |en_US.en_USB...D|
000001b0 61 74 65 54 69 6d 65 3a 3a 54 69 6d 65 5a 6f 6e |ateTime::TimeZon|
000001c0 65 3a 3a 46 6c 6f 61 74 69 6e 67 08 66 6c 6f 61 |e::Floating.floa|
000001d0 74 69 6e 67 42 05 82 08 44 61 74 65 54 69 6d 65 |tingB...DateTime|
000001e0 3f 75 74 63 5f 72 64 5f 64 61 79 73 3a 37 33 38 |?utc_rd_days:738|
000001f0 31 39 33 7c 75 74 63 5f 72 64 5f 73 65 63 73 3a |193|utc_rd_secs:|
00000200 35 31 30 30 30 7c 72 64 5f 6e 61 6e 6f 73 65 63 |51000|rd_nanosec|
00000210 73 3a 30 7c 76 65 72 73 69 6f 6e 3a 31 2e 32 30 |s:0|version:1.20|
00000220 03 00 00 00 14 00 00 00 15 00 00 00 16 00 00 00 |................|
00000230 0c 4d 65 61 73 49 6e 74 53 74 61 72 74 0a 11 4e |.MeasIntStart..N|
00000240 6f 72 62 65 72 74 20 5a 61 63 68 61 72 69 61 73 |orbert Zacharias|
00000250 00 00 00 0a 41 75 74 68 6f 72 4e 61 6d 65 0a 05 |....AuthorName..|
This supports your theory.
> Longer-term, I'd suggest _not_ using `Storable` to serialize data. It
> generates
> data that is too tied together with the internals of the libraries that
> produced
> the objects.
Do you have a suggestion for an alternative?
Also I have to check how to migrate all the old storable files to the new
version.
If anyone has an idea how this could work, please let me know!
Thanks a lot
Have fun
Norbert
This e-mail may contain privileged or confidential information. If you are not
the intended recipient: (1) you may not disclose, use, distribute, copy or rely
upon this message or attachment(s); and (2) please notify the sender by reply
e-mail, and then delete this message and its attachment(s). Underwriters
Laboratories Inc. and its affiliates disclaim all liability for any errors,
omissions, corruption or virus in this message or any attachments.