sub
select__info {
my
$os_name
= $^O;
if
($^O eq
'MSWin32'
) {
eval
{
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
{
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
;
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;