📄 grent.html
字号:
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>User::grent - by-name interface to Perl's built-in getgr* functions</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>User::grent - by-name interface to Perl's built-in getgr* functions</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#note">NOTE</a></li>
<li><a href="#author">AUTHOR</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>User::grent - by-name interface to Perl's built-in getgr*() functions</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<span class="keyword">use</span> <span class="variable">User::grent</span><span class="operator">;</span>
<span class="variable">$gr</span> <span class="operator">=</span> <span class="keyword">getgrgid</span><span class="operator">(</span><span class="number">0</span><span class="operator">)</span> <span class="keyword">or</span> <span class="keyword">die</span> <span class="string">"No group zero"</span><span class="operator">;</span>
<span class="keyword">if</span> <span class="operator">(</span> <span class="variable">$gr</span><span class="operator">-></span><span class="variable">name</span> <span class="keyword">eq</span> <span class="string">'wheel'</span> <span class="operator">&&</span> <span class="variable">@</span><span class="operator">{</span><span class="variable">$gr</span><span class="operator">-></span><span class="variable">members</span><span class="operator">}</span> <span class="operator">></span> <span class="number">1</span> <span class="operator">)</span> <span class="operator">{</span>
<span class="keyword">print</span> <span class="string">"gid zero name wheel, with other members"</span><span class="operator">;</span>
<span class="operator">}</span>
</pre>
<pre>
<span class="keyword">use</span> <span class="variable">User::grent</span> <span class="string">qw(:FIELDS)</span><span class="operator">;</span>
<span class="keyword">getgrgid</span><span class="operator">(</span><span class="number">0</span><span class="operator">)</span> <span class="keyword">or</span> <span class="keyword">die</span> <span class="string">"No group zero"</span><span class="operator">;</span>
<span class="keyword">if</span> <span class="operator">(</span> <span class="variable">$gr_name</span> <span class="keyword">eq</span> <span class="string">'wheel'</span> <span class="operator">&&</span> <span class="variable">@gr_members</span> <span class="operator">></span> <span class="number">1</span> <span class="operator">)</span> <span class="operator">{</span>
<span class="keyword">print</span> <span class="string">"gid zero name wheel, with other members"</span><span class="operator">;</span>
<span class="operator">}</span>
</pre>
<pre>
<span class="variable">$gr</span> <span class="operator">=</span> <span class="variable">getgr</span><span class="operator">(</span><span class="variable">$whoever</span><span class="operator">);</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module's default exports override the core getgrent(), getgruid(),
and <a href="../../lib/Pod/perlfunc.html#item_getgrnam"><code>getgrnam()</code></a> functions, replacing them with versions that return
"User::grent" objects. This object has methods that return the similarly
named structure field name from the C's passwd structure from <em>grp.h</em>;
namely name, passwd, gid, and members (not mem). The first three
return scalars, the last an array reference.</p>
<p>You may also import all the structure fields directly into your namespace
as regular variables using the :FIELDS import tag. (Note that this still
overrides your core functions.) Access these fields as variables named
with a preceding <code>gr_</code>. Thus, <code>$group_obj->gid()</code> corresponds
to $gr_gid if you import the fields. Array references are available as
regular array variables, so <code>@{ $group_obj->members() }</code> would be
simply @gr_members.</p>
<p>The <code>getpw()</code> function is a simple front-end that forwards
a numeric argument to <a href="../../lib/Pod/perlfunc.html#item_getpwuid"><code>getpwuid()</code></a> and the rest to getpwnam().</p>
<p>To access this functionality without the core overrides,
pass the <a href="../../lib/Pod/perlfunc.html#item_use"><code>use</code></a> an empty import list, and then access
function functions with their full qualified names.
On the other hand, the built-ins are still available
via the <code>CORE::</code> pseudo-package.</p>
<p>
</p>
<hr />
<h1><a name="note">NOTE</a></h1>
<p>While this class is currently implemented using the Class::Struct
module to build a struct-like class, you shouldn't rely upon this.</p>
<p>
</p>
<hr />
<h1><a name="author">AUTHOR</a></h1>
<p>Tom Christiansen</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -