home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _86ac9f955c543f04bbfd5f3a057e4e0d < prev    next >
Text File  |  2000-03-23  |  4KB  |  95 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>Net::protoent - by-name interface to Perl's built-in getproto* functions</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> Net::protoent - by-name interface to Perl's built-in getproto* functions</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <LI><A HREF="#note">NOTE</A></LI>
  26.     <LI><A HREF="#author">AUTHOR</A></LI>
  27. </UL>
  28. <!-- INDEX END -->
  29.  
  30. <HR>
  31. <P>
  32. <H1><A NAME="name">NAME</A></H1>
  33. <P>Net::protoent - by-name interface to Perl's built-in getproto*() functions</P>
  34. <P>
  35. <HR>
  36. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  37. <UL>
  38. <LI>Linux</LI>
  39. <LI>Solaris</LI>
  40. <LI>Windows</LI>
  41. </UL>
  42. <HR>
  43. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  44. <PRE>
  45.  use Net::protoent;
  46.  $p = getprotobyname(shift || 'tcp') || die "no proto";
  47.  printf "proto for %s is %d, aliases are %s\n",
  48.     $p->name, $p->proto, "@{$p->aliases}";</PRE>
  49. <PRE>
  50.  use Net::protoent qw(:FIELDS);
  51.  getprotobyname(shift || 'tcp') || die "no proto";
  52.  print "proto for $p_name is $p_proto, aliases are @p_aliases\n";</PRE>
  53. <P>
  54. <HR>
  55. <H1><A NAME="description">DESCRIPTION</A></H1>
  56. <P>This module's default exports override the core getprotoent(),
  57. getprotobyname(), and <CODE>getnetbyport()</CODE> functions, replacing them with
  58. versions that return ``Net::protoent'' objects.  They take default
  59. second arguments of ``tcp''.  This object has methods that return the
  60. similarly named structure field name from the C's protoent structure
  61. from <EM>netdb.h</EM>; namely name, aliases, and proto.  The aliases method
  62. returns an array reference, the rest scalars.</P>
  63. <P>You may also import all the structure fields directly into your namespace
  64. as regular variables using the :FIELDS import tag.  (Note that this still
  65. overrides your core functions.)  Access these fields as variables named
  66. with a preceding <CODE>p_</CODE>.  Thus, <CODE>$proto_obj->name()</CODE> corresponds to
  67. $p_name if you import the fields.  Array references are available as
  68. regular array variables, so for example <CODE>@{ $proto_obj->aliases()
  69. }</CODE> would be simply @p_aliases.</P>
  70. <P>The <CODE>getproto()</CODE> function is a simple front-end that forwards a numeric
  71. argument to getprotobyport(), and the rest to getprotobyname().</P>
  72. <P>To access this functionality without the core overrides,
  73. pass the <A HREF="../../lib/Pod/perlfunc.html#item_use"><CODE>use</CODE></A> an empty import list, and then access
  74. function functions with their full qualified names.
  75. On the other hand, the built-ins are still available
  76. via the <CODE>CORE::</CODE> pseudo-package.</P>
  77. <P>
  78. <HR>
  79. <H1><A NAME="note">NOTE</A></H1>
  80. <P>While this class is currently implemented using the Class::Struct
  81. module to build a struct-like class, you shouldn't rely upon this.</P>
  82. <P>
  83. <HR>
  84. <H1><A NAME="author">AUTHOR</A></H1>
  85. <P>Tom Christiansen</P>
  86. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  87. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  88. <STRONG><P CLASS=block> Net::protoent - by-name interface to Perl's built-in getproto* functions</P></STRONG>
  89. </TD></TR>
  90. </TABLE>
  91.  
  92. </BODY>
  93.  
  94. </HTML>
  95.