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));
Configure
program at Perl build time (over 900 values).
Shell variables from the config.sh 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.
-V
in Switches.
name='value';
Names which are unknown are output as name='UNKNOWN';
. See also -V:name
in Switches.
use Config; use strict;
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"; }
The Config module is installed into the architecture and version specific library directory ($Config{installarchlib}) and it checks the perl version number when loaded.