]>
Commit | Line | Data |
---|---|---|
3e7b900f | 1 | Data-Dump-Sexp version 0.002 |
9336e296 MG |
2 | ============================ |
3 | ||
4 | Data::Dump::Sexp converts Perl structures to S-expressions. | |
5 | ||
6 | The conversion rules are as follows: | |
7 | ||
8 | 1. A blessed object with a to_sexp method is replaced with the result | |
9 | of calling the method, and this procedure is restarted. | |
10 | ||
11 | 2. An instance of Data::SExpression::Symbol is converted to a symbol. | |
12 | ||
13 | 3. An instance of Data::SExpression::Cons is converted to a cons cell | |
14 | (like (A . B)), a proper list (like (A B C)) or an improper list | |
15 | (like (A B . C)), where A, B, C are S-expressions. | |
16 | ||
17 | 4. undef is converted to the empty list. | |
18 | ||
19 | 5. A defined scalar that looks like a number is left as-is. | |
20 | ||
21 | 6. A defined scalar that does not look like a number is surrounded by | |
22 | double quotes after any backslashes and double quote characters are | |
23 | escaped with a backslash. | |
24 | ||
25 | 7. An arrayref is converted to a proper list. | |
26 | ||
27 | 8. A hashref is converted to an alist, which is a proper list of cons | |
28 | cells (like ((A . B) (C . D) (E . F))). | |
29 | ||
30 | 9. A scalarref or a reference to another ref is dereferenced and this | |
31 | procedure is restarted. | |
32 | ||
3e7b900f MG |
33 | 10. Anything else (coderef, regexp, filehandle, format, globref, |
34 | version string) causes an exception to be raised. | |
9336e296 MG |
35 | |
36 | INSTALLATION | |
37 | ||
38 | To install this module type the following: | |
39 | ||
40 | perl Makefile.PL | |
41 | make | |
42 | make test | |
43 | make install | |
44 | ||
45 | DEPENDENCIES | |
46 | ||
47 | This module requires these other modules and libraries: | |
48 | ||
49 | * Data::SExpression | |
50 | ||
51 | COPYRIGHT AND LICENCE | |
52 | ||
53 | Copyright (C) 2018 by Marius Gavrilescu | |
54 | ||
55 | This library is free software; you can redistribute it and/or modify | |
56 | it under the same terms as Perl itself, either Perl version 5.24.1 or, | |
57 | at your option, any later version of Perl 5 you may have available. | |
58 | ||
59 |