From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

################################################################################
sub select__info {
my $os_name = $^O;
if ($^O eq 'MSWin32') {
eval {
require Win32;
my ($string, $major, $minor, $build, $id) = Win32::GetOSVersion ();
my $imm = $id . $major . $minor;
$os_name = 'MS Windows ' . (
$imm == 140 ? '95 ' :
$imm == 1410 ? '98 ' :
$imm == 1490 ? 'Me ' :
$imm == 2351 ? 'NT 3.51 ' :
$imm == 240 ? 'NT 4.0 ' :
$imm == 250 ? '2000 ' :
$imm == 251 ? 'XP ' :
$imm == 252 ? '2003 ' :
$imm == 260 ? 'Vista ' :
"Unknown ($id . $major . $minor)"
) . $string . " Build $build"
};
} else {
eval {
require POSIX;
my ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
my $imm = $id . $major . $minor;
$os_name = "$sysname $release [$machine]";
};
}
my @z = grep {/\d/} split /(\d)/, $Eludia::VERSION;
require Config;
return [
{
id => 'OS',
label => $os_name,
},
{
id => 'WEB server',
label => $ENV {SERVER_SOFTWARE},
},
{
id => 'Interpreter',
label => (sprintf "Perl %vd", $^V),
path => $^X,
},
{
id => 'DBMS',
label => $SQL_VERSION -> {string},
},
{
id => 'DB interface',
label => 'DBI ' . $DBI::VERSION,
},
{
id => 'DB driver',
label => 'DBD::' . $db -> {Driver} -> {Name} . ' ' . ${'DBD::' . $db -> {Driver} -> {Name} . '::VERSION'},
},
{
id => 'Parameters module',
label => ref $apr,
},
{
id => 'Engine',
label => "Eludia $Eludia::VERSION",
path => $preconf -> {core_path},
},
{
id => 'Application package',
label => ($_PACKAGE =~ /(\w+)/),
path => join ', ', @$PACKAGE_ROOT,
},
]
}
1;