function string.lines(s, delim, indent)
indent = indent or 0
local lines = s:gsub("([^%" .. delim .. "]+)%" .. delim .. "?",
string.rep(" ", indent) .. "%1\n")
return lines
end
local paths = {
{ name = "package.path",
description = "Initialized from LUA_PATH environment variable"},
{ name = "package.cpath",
description = "Initialized from LUA_CPATH environment variable"},
{ name = "PATH environment variable",
description = "Executable program search path",
value = function () return os.getenv("PATH") end,
delim = ":"},
{ name = "LIBPATH environment variable",
description = "DLL search path",
value = function () return os.getenv("LIBPATH") end,
delim = ":"}
}
local indent = 2
for _, path in ipairs(paths) do
print(path.name .. ": " .. path.description)
if path.value then
path.value = path.value()
else
path.value = loadstring("return " .. path.name)()
end
if path.value then
path.delim = path.delim or ";"
print(path.value:lines(path.delim, indent))
else
print(string.rep(" ", indent) .. "not defined\n")
end
end