home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CCCCoooonnnnffffiiiigggg((((3333)))) CCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- Config - access Perl configuration information
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- use Config;
- if ($Config{'cc'} =~ /gcc/) {
- print "built by gcc\n";
- }
-
- use Config qw(myconfig config_sh config_vars);
-
- print myconfig();
-
- print config_sh();
-
- config_vars(qw(osname archname));
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The Config module contains all the information that was available to the
- Configure program at Perl build time (over 900 values).
-
- Shell variables from the _c_o_n_f_i_g._s_h file (written by Configure) are stored
- in the readonly-variable %Config, indexed by their names.
-
- Values stored in config.sh as 'undef' are returned as undefined values.
- The perl exists function can be used to check if a named variable exists.
-
- myconfig()
- Returns a textual summary of the major perl configuration values.
- See also -V in the Switches entry in the _p_e_r_l_r_u_n manpage.
-
- config_sh()
- Returns the entire perl configuration information in the form of the
- original config.sh shell variable assignment script.
-
- config_vars(@names)
- Prints to STDOUT the values of the named configuration variable. Each
- is printed on a separate line in the form:
-
- name='value';
-
- Names which are unknown are output as name='UNKNOWN';. See also
- -V:name in the Switches entry in the _p_e_r_l_r_u_n manpage.
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEE
- Here's a more sophisticated example of using %Config:
-
- use Config;
- use strict;
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- CCCCoooonnnnffffiiiigggg((((3333)))) CCCCoooonnnnffffiiiigggg((((3333))))
-
-
-
- my %sig_num;
- my @sig_name;
- unless($Config{sig_name} && $Config{sig_num}) {
- die "No sigs?";
- } else {
- my @names = split ' ', $Config{sig_name};
- @sig_num{@names} = split ' ', $Config{sig_num};
- foreach (@names) {
- $sig_name[$sig_num{$_}] ||= $_;
- }
- }
-
- print "signal #17 = $sig_name[17]\n";
- if ($sig_num{ALRM}) {
- print "SIGALRM is $sig_num{ALRM}\n";
- }
-
-
- WWWWAAAARRRRNNNNIIIINNNNGGGG
- Because this information is not stored within the perl executable itself
- it is possible (but unlikely) that the information does not relate to the
- actual perl binary which is being used to access it.
-
- The Config module is installed into the architecture and version specific
- library directory ($Config{installarchlib}) and it checks the perl
- version number when loaded.
-
- NNNNOOOOTTTTEEEE
- This module contains a good example of how to use tie to implement a
- cache and an example of how to make a tied variable readonly to those
- outside of it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-