|
3 | 3 | # |
4 | 4 | # Author: Slaven Rezic |
5 | 5 | # |
6 | | -# Copyright (C) 2013 Slaven Rezic. All rights reserved. |
| 6 | +# Copyright (C) 2013,2025 Slaven Rezic. All rights reserved. |
7 | 7 | # This package is free software; you can redistribute it and/or |
8 | 8 | # modify it under the same terms as Perl itself. |
9 | 9 | # |
10 | | - |
11 | | -# WWW: http://www.rezic.de/eserte/ |
| 10 | +# WWW: https://github.com/eserte/bbbike |
12 | 11 | # |
13 | 12 |
|
14 | 13 | package BBBikeYAML; |
15 | 14 |
|
16 | 15 | use strict; |
17 | 16 | use vars qw($VERSION); |
18 | | -$VERSION = '0.01'; |
| 17 | +$VERSION = '0.02'; |
19 | 18 |
|
20 | 19 | use Exporter 'import'; |
21 | 20 | our @EXPORT_OK = qw(Load Dump LoadFile DumpFile); |
22 | 21 |
|
23 | | -use YAML::XS (); |
24 | | - |
25 | | -sub Load { YAML::XS::Load(@_) } |
26 | | -sub Dump { YAML::XS::Dump(@_) } |
27 | | -sub LoadFile { YAML::XS::LoadFile(@_) } |
28 | | -sub DumpFile { YAML::XS::DumpFile(@_) } |
| 22 | +# Note: currently only YAML::XS is supported |
| 23 | +# XXX: other YAML modules are prepared, but exact configuration regarding utf8 handling etc. is missing |
| 24 | + |
| 25 | +if (eval { require YAML::XS; 1 }) { |
| 26 | + *Load = sub { YAML::XS::Load(@_) }; |
| 27 | + *Dump = sub { YAML::XS::Dump(@_) }; |
| 28 | + *LoadFile = sub { YAML::XS::LoadFile(@_) }; |
| 29 | + *DumpFile = sub { YAML::XS::DumpFile(@_) } |
| 30 | +} elsif (0 && eval { require YAML::PP; 1 }) { |
| 31 | + *Load = sub { YAML::PP::Load(@_) }; |
| 32 | + *Dump = sub { YAML::PP::Dump(@_) }; |
| 33 | + *LoadFile = sub { YAML::PP::LoadFile(@_) }; |
| 34 | + *DumpFile = sub { YAML::PP::DumpFile(@_) } |
| 35 | +} elsif (0 && eval { require YAML::Syck; 1 }) { |
| 36 | + *Load = sub { YAML::Syck::Load(@_) }; |
| 37 | + *Dump = sub { YAML::Syck::Dump(@_) }; |
| 38 | + *LoadFile = sub { YAML::Syck::LoadFile(@_) }; |
| 39 | + *DumpFile = sub { YAML::Syck::DumpFile(@_) } |
| 40 | +} elsif (0 && eval { require YAML; 1 }) { |
| 41 | + *Load = sub { YAML::Load(@_) }; |
| 42 | + *Dump = sub { YAML::Dump(@_) }; |
| 43 | + *LoadFile = sub { YAML::LoadFile(@_) }; |
| 44 | + *DumpFile = sub { YAML::DumpFile(@_) } |
| 45 | +} else { |
| 46 | + #die "Either YAML::XS, YAML::PP, YAML::Syck or YAML required"; |
| 47 | + die $@; |
| 48 | +} |
29 | 49 |
|
30 | 50 | 1; |
31 | 51 |
|
|
0 commit comments