-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
46 lines (34 loc) · 1.8 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Copyright (C) 2024, Daniel Dragan
Copyright (C) 2015, cPanel Inc
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
SYNOPSIS
========
The Config.pm included by default with Perl is pure Perl. Nearly all Perl apps
will load Config.pm. For a number of reasons, of speed and memory space,
reimplement the P5P shipped Config.pm as an XS library, shareable between
processes as read-only memory, and with a hash that is better optimized than
Perl hashes, courtesy of gperf tool which generates collision-free perfect
hashes.
This module is a drop-in replacement for Config.pm. All code that does
use Config;
will use the XS implementation after installing this module. To revert to the
original pure perl Config.pm, go and delete the following 3 files that will be
next to each other in /site, Config.pm, Config_mini.pl, Config_xs_heavy.pl, and
the Config shared library in /auto, after deleting the /site files, the original
pure perl Config.pm in /lib will be loaded.
Since XS Config is a compiled C shared library, it can not be edited with a text
editor after it is built. To change the values in the XS Config module,
edit the pure perl Config_heavy.pl file with a text editor and rebuild XS
Config.
IT IS HIGHLY RECOMMENDED THAT YOU HAVE GPERF TOOL INSTALLED AND RUNNABLE FROM
YOUR PATH BEFORE INSTALLING XS CONFIG.
CONTRIBUTING
============
XS Config is part of the cperl project http://perl11.org/cperl/ .
The files and parts of XS Config that are git tracked by cperl at
https://github.com/perl11/cperl/tree/master/ext/Config
are revised inside/upstream cperl.
Files that are not git tracked by cperl are revised at
https://github.com/perl11/p5-Config with syncronizing from cperl of the cperl
git tracked files to the standalone repo.