diff options
Diffstat (limited to 'upstream/mageia-cauldron/man3pm/Net::NNTP.3pm')
-rw-r--r-- | upstream/mageia-cauldron/man3pm/Net::NNTP.3pm | 580 |
1 files changed, 580 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3pm/Net::NNTP.3pm b/upstream/mageia-cauldron/man3pm/Net::NNTP.3pm new file mode 100644 index 00000000..ea4e6e94 --- /dev/null +++ b/upstream/mageia-cauldron/man3pm/Net::NNTP.3pm @@ -0,0 +1,580 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "Net::NNTP 3pm" +.TH Net::NNTP 3pm 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +Net::NNTP \- NNTP Client class +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 1 +\& use Net::NNTP; +\& +\& $nntp = Net::NNTP\->new("some.host.name"); +\& $nntp\->quit; +\& +\& # start with SSL, e.g. nntps +\& $nntp = Net::NNTP\->new("some.host.name", SSL => 1); +\& +\& # start with plain and upgrade to SSL +\& $nntp = Net::NNTP\->new("some.host.name"); +\& $nntp\->starttls; +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +\&\f(CW\*(C`Net::NNTP\*(C'\fR is a class implementing a simple NNTP client in Perl as described +in RFC977 and RFC4642. +With IO::Socket::SSL installed it also provides support for implicit and +explicit TLS encryption, i.e. NNTPS or NNTP+STARTTLS. +.PP +The Net::NNTP class is a subclass of Net::Cmd and (depending on avaibility) of +IO::Socket::IP, IO::Socket::INET6 or IO::Socket::INET. +.SS "Class Methods" +.IX Subsection "Class Methods" +.ie n .IP """new([$host][, %options])""" 4 +.el .IP "\f(CWnew([$host][, %options])\fR" 4 +.IX Item "new([$host][, %options])" +This is the constructor for a new Net::NNTP object. \f(CW$host\fR is the +name of the remote host to which a NNTP connection is required. If not +given then it may be passed as the \f(CW\*(C`Host\*(C'\fR option described below. If no host is passed +then two environment variables are checked, first \f(CW\*(C`NNTPSERVER\*(C'\fR then +\&\f(CW\*(C`NEWSHOST\*(C'\fR, then \f(CW\*(C`Net::Config\*(C'\fR is checked, and if a host is not found +then \f(CW\*(C`news\*(C'\fR is used. +.Sp +\&\f(CW%options\fR are passed in a hash like fashion, using key and value pairs. +Possible options are: +.Sp +\&\fBHost\fR \- NNTP host to connect to. It may be a single scalar, as defined for +the \f(CW\*(C`PeerAddr\*(C'\fR option in IO::Socket::INET, or a reference to +an array with hosts to try in turn. The "host" method will return the value +which was used to connect to the host. +.Sp +\&\fBPort\fR \- port to connect to. +Default \- 119 for plain NNTP and 563 for immediate SSL (nntps). +.Sp +\&\fBSSL\fR \- If the connection should be done from start with SSL, contrary to later +upgrade with \f(CW\*(C`starttls\*(C'\fR. +You can use SSL arguments as documented in IO::Socket::SSL, but it will +usually use the right arguments already. +.Sp +\&\fBTimeout\fR \- Maximum time, in seconds, to wait for a response from the +NNTP server, a value of zero will cause all IO operations to block. +(default: 120) +.Sp +\&\fBDebug\fR \- Enable the printing of debugging information to STDERR +.Sp +\&\fBReader\fR \- If the remote server is INN then initially the connection +will be to innd, by default \f(CW\*(C`Net::NNTP\*(C'\fR will issue a \f(CW\*(C`MODE READER\*(C'\fR command +so that the remote server becomes nnrpd. If the \f(CW\*(C`Reader\*(C'\fR option is given +with a value of zero, then this command will not be sent and the +connection will be left talking to innd. +.Sp +\&\fBLocalAddr\fR and \fBLocalPort\fR \- These parameters are passed directly +to IO::Socket to allow binding the socket to a specific local address and port. +.Sp +\&\fBDomain\fR \- This parameter is passed directly to IO::Socket and makes it +possible to enforce IPv4 connections even if IO::Socket::IP is used as super +class. Alternatively \fBFamily\fR can be used. +.SS "Object Methods" +.IX Subsection "Object Methods" +Unless otherwise stated all methods return either a \fItrue\fR or \fIfalse\fR +value, with \fItrue\fR meaning that the operation was a success. When a method +states that it returns a value, failure will be returned as \fIundef\fR or an +empty list. +.PP +\&\f(CW\*(C`Net::NNTP\*(C'\fR inherits from \f(CW\*(C`Net::Cmd\*(C'\fR so methods defined in \f(CW\*(C`Net::Cmd\*(C'\fR may +be used to send commands to the remote NNTP server in addition to the methods +documented here. +.ie n .IP host() 4 +.el .IP \f(CWhost()\fR 4 +.IX Item "host()" +Returns the value used by the constructor, and passed to IO::Socket::INET, +to connect to the host. +.ie n .IP starttls() 4 +.el .IP \f(CWstarttls()\fR 4 +.IX Item "starttls()" +Upgrade existing plain connection to SSL. +Any arguments necessary for SSL must be given in \f(CW\*(C`new\*(C'\fR already. +.ie n .IP """article([{$msgid|$msgnum}[, $fh]])""" 4 +.el .IP "\f(CWarticle([{$msgid|$msgnum}[, $fh]])\fR" 4 +.IX Item "article([{$msgid|$msgnum}[, $fh]])" +Retrieve the header, a blank line, then the body (text) of the +specified article. +.Sp +If \f(CW$fh\fR is specified then it is expected to be a valid filehandle +and the result will be printed to it, on success a true value will be +returned. If \f(CW$fh\fR is not specified then the return value, on success, +will be a reference to an array containing the article requested, each +entry in the array will contain one line of the article. +.Sp +If no arguments are passed then the current article in the currently +selected newsgroup is fetched. +.Sp +\&\f(CW$msgnum\fR is a numeric id of an article in the current newsgroup, and +will change the current article pointer. \f(CW$msgid\fR is the message id of +an article as shown in that article's header. It is anticipated that the +client will obtain the \f(CW$msgid\fR from a list provided by the \f(CW\*(C`newnews\*(C'\fR +command, from references contained within another article, or from the +message-id provided in the response to some other commands. +.Sp +If there is an error then \f(CW\*(C`undef\*(C'\fR will be returned. +.ie n .IP """body([{$msgid|$msgnum}[, [$fh]])""" 4 +.el .IP "\f(CWbody([{$msgid|$msgnum}[, [$fh]])\fR" 4 +.IX Item "body([{$msgid|$msgnum}[, [$fh]])" +Like \f(CW\*(C`article\*(C'\fR but only fetches the body of the article. +.ie n .IP """head([{$msgid|$msgnum}[, [$fh]])""" 4 +.el .IP "\f(CWhead([{$msgid|$msgnum}[, [$fh]])\fR" 4 +.IX Item "head([{$msgid|$msgnum}[, [$fh]])" +Like \f(CW\*(C`article\*(C'\fR but only fetches the headers for the article. +.ie n .IP articlefh([{$msgid|$msgnum}]) 4 +.el .IP \f(CWarticlefh([{$msgid|$msgnum}])\fR 4 +.IX Item "articlefh([{$msgid|$msgnum}])" +.PD 0 +.ie n .IP bodyfh([{$msgid|$msgnum}]) 4 +.el .IP \f(CWbodyfh([{$msgid|$msgnum}])\fR 4 +.IX Item "bodyfh([{$msgid|$msgnum}])" +.ie n .IP headfh([{$msgid|$msgnum}]) 4 +.el .IP \f(CWheadfh([{$msgid|$msgnum}])\fR 4 +.IX Item "headfh([{$msgid|$msgnum}])" +.PD +These are similar to \fBarticle()\fR, \fBbody()\fR and \fBhead()\fR, but rather than +returning the requested data directly, they return a tied filehandle +from which to read the article. +.ie n .IP nntpstat([{$msgid|$msgnum}]) 4 +.el .IP \f(CWnntpstat([{$msgid|$msgnum}])\fR 4 +.IX Item "nntpstat([{$msgid|$msgnum}])" +The \f(CW\*(C`nntpstat\*(C'\fR command is similar to the \f(CW\*(C`article\*(C'\fR command except that no +text is returned. When selecting by message number within a group, +the \f(CW\*(C`nntpstat\*(C'\fR command serves to set the "current article pointer" without +sending text. +.Sp +Using the \f(CW\*(C`nntpstat\*(C'\fR command to +select by message-id is valid but of questionable value, since a +selection by message-id does \fBnot\fR alter the "current article pointer". +.Sp +Returns the message-id of the "current article". +.ie n .IP group([$group]) 4 +.el .IP \f(CWgroup([$group])\fR 4 +.IX Item "group([$group])" +Set and/or get the current group. If \f(CW$group\fR is not given then information +is returned on the current group. +.Sp +In a scalar context it returns the group name. +.Sp +In an array context the return value is a list containing, the number +of articles in the group, the number of the first article, the number +of the last article and the group name. +.ie n .IP help() 4 +.el .IP \f(CWhelp()\fR 4 +.IX Item "help()" +Request help text (a short summary of commands that are understood by this +implementation) from the server. Returns the text or undef upon failure. +.ie n .IP """ihave($msgid[, $message])""" 4 +.el .IP "\f(CWihave($msgid[, $message])\fR" 4 +.IX Item "ihave($msgid[, $message])" +The \f(CW\*(C`ihave\*(C'\fR command informs the server that the client has an article +whose id is \f(CW$msgid\fR. If the server desires a copy of that +article and \f(CW$message\fR has been given then it will be sent. +.Sp +Returns \fItrue\fR if the server desires the article and \f(CW$message\fR was +successfully sent, if specified. +.Sp +If \f(CW$message\fR is not specified then the message must be sent using the +\&\f(CW\*(C`datasend\*(C'\fR and \f(CW\*(C`dataend\*(C'\fR methods from Net::Cmd +.Sp +\&\f(CW$message\fR can be either an array of lines or a reference to an array +and must be encoded by the caller to octets of whatever encoding is required, +e.g. by using the Encode module's \f(CWencode()\fR function. +.ie n .IP last() 4 +.el .IP \f(CWlast()\fR 4 +.IX Item "last()" +Set the "current article pointer" to the previous article in the current +newsgroup. +.Sp +Returns the message-id of the article. +.ie n .IP date() 4 +.el .IP \f(CWdate()\fR 4 +.IX Item "date()" +Returns the date on the remote server. This date will be in a UNIX time +format (seconds since 1970) +.ie n .IP postok() 4 +.el .IP \f(CWpostok()\fR 4 +.IX Item "postok()" +\&\f(CW\*(C`postok\*(C'\fR will return \fItrue\fR if the servers initial response indicated +that it will allow posting. +.ie n .IP """authinfo($user, $pass)""" 4 +.el .IP "\f(CWauthinfo($user, $pass)\fR" 4 +.IX Item "authinfo($user, $pass)" +Authenticates to the server (using the original AUTHINFO USER / AUTHINFO PASS +form, defined in RFC2980) using the supplied username and password. Please +note that the password is sent in clear text to the server. This command +should not be used with valuable passwords unless the connection to the server +is somehow protected. +.ie n .IP """authinfo_simple($user, $pass)""" 4 +.el .IP "\f(CWauthinfo_simple($user, $pass)\fR" 4 +.IX Item "authinfo_simple($user, $pass)" +Authenticates to the server (using the proposed NNTP V2 AUTHINFO SIMPLE form, +defined and deprecated in RFC2980) using the supplied username and password. +As with "authinfo" the password is sent in clear text. +.ie n .IP list() 4 +.el .IP \f(CWlist()\fR 4 +.IX Item "list()" +Obtain information about all the active newsgroups. The results is a reference +to a hash where the key is a group name and each value is a reference to an +array. The elements in this array are:\- the last article number in the group, +the first article number in the group and any information flags about the group. +.ie n .IP """newgroups($since[, $distributions])""" 4 +.el .IP "\f(CWnewgroups($since[, $distributions])\fR" 4 +.IX Item "newgroups($since[, $distributions])" +\&\f(CW$since\fR is a time value and \f(CW$distributions\fR is either a distribution +pattern or a reference to a list of distribution patterns. +The result is the same as \f(CW\*(C`list\*(C'\fR, but the +groups return will be limited to those created after \f(CW$since\fR and, if +specified, in one of the distribution areas in \f(CW$distributions\fR. +.ie n .IP """newnews($since[, $groups[, $distributions]])""" 4 +.el .IP "\f(CWnewnews($since[, $groups[, $distributions]])\fR" 4 +.IX Item "newnews($since[, $groups[, $distributions]])" +\&\f(CW$since\fR is a time value. \f(CW$groups\fR is either a group pattern or a reference +to a list of group patterns. \f(CW$distributions\fR is either a distribution +pattern or a reference to a list of distribution patterns. +.Sp +Returns a reference to a list which contains the message-ids of all news posted +after \f(CW$since\fR, that are in a groups which matched \f(CW$groups\fR and a +distribution which matches \f(CW$distributions\fR. +.ie n .IP next() 4 +.el .IP \f(CWnext()\fR 4 +.IX Item "next()" +Set the "current article pointer" to the next article in the current +newsgroup. +.Sp +Returns the message-id of the article. +.ie n .IP post([$message]) 4 +.el .IP \f(CWpost([$message])\fR 4 +.IX Item "post([$message])" +Post a new article to the news server. If \f(CW$message\fR is specified and posting +is allowed then the message will be sent. +.Sp +If \f(CW$message\fR is not specified then the message must be sent using the +\&\f(CW\*(C`datasend\*(C'\fR and \f(CW\*(C`dataend\*(C'\fR methods from Net::Cmd +.Sp +\&\f(CW$message\fR can be either an array of lines or a reference to an array +and must be encoded by the caller to octets of whatever encoding is required, +e.g. by using the Encode module's \f(CWencode()\fR function. +.Sp +The message, either sent via \f(CW\*(C`datasend\*(C'\fR or as the \f(CW$message\fR +parameter, must be in the format as described by RFC822 and must +contain From:, Newsgroups: and Subject: headers. +.ie n .IP postfh() 4 +.el .IP \f(CWpostfh()\fR 4 +.IX Item "postfh()" +Post a new article to the news server using a tied filehandle. If +posting is allowed, this method will return a tied filehandle that you +can \fBprint()\fR the contents of the article to be posted. You must +explicitly \fBclose()\fR the filehandle when you are finished posting the +article, and the return value from the \fBclose()\fR call will indicate +whether the message was successfully posted. +.ie n .IP slave() 4 +.el .IP \f(CWslave()\fR 4 +.IX Item "slave()" +Tell the remote server that I am not a user client, but probably another +news server. +.ie n .IP quit() 4 +.el .IP \f(CWquit()\fR 4 +.IX Item "quit()" +Quit the remote server and close the socket connection. +.ie n .IP can_inet6() 4 +.el .IP \f(CWcan_inet6()\fR 4 +.IX Item "can_inet6()" +Returns whether we can use IPv6. +.ie n .IP can_ssl() 4 +.el .IP \f(CWcan_ssl()\fR 4 +.IX Item "can_ssl()" +Returns whether we can use SSL. +.SS "Extension Methods" +.IX Subsection "Extension Methods" +These methods use commands that are not part of the RFC977 documentation. Some +servers may not support all of them. +.ie n .IP newsgroups([$pattern]) 4 +.el .IP \f(CWnewsgroups([$pattern])\fR 4 +.IX Item "newsgroups([$pattern])" +Returns a reference to a hash where the keys are all the group names which +match \f(CW$pattern\fR, or all of the groups if no pattern is specified, and +each value contains the description text for the group. +.ie n .IP distributions() 4 +.el .IP \f(CWdistributions()\fR 4 +.IX Item "distributions()" +Returns a reference to a hash where the keys are all the possible +distribution names and the values are the distribution descriptions. +.ie n .IP distribution_patterns() 4 +.el .IP \f(CWdistribution_patterns()\fR 4 +.IX Item "distribution_patterns()" +Returns a reference to an array where each element, itself an array +reference, consists of the three fields of a line of the distrib.pats list +maintained by some NNTP servers, namely: a weight, a wildmat and a value +which the client may use to construct a Distribution header. +.ie n .IP subscriptions() 4 +.el .IP \f(CWsubscriptions()\fR 4 +.IX Item "subscriptions()" +Returns a reference to a list which contains a list of groups which +are recommended for a new user to subscribe to. +.ie n .IP overview_fmt() 4 +.el .IP \f(CWoverview_fmt()\fR 4 +.IX Item "overview_fmt()" +Returns a reference to an array which contain the names of the fields returned +by \f(CW\*(C`xover\*(C'\fR. +.ie n .IP active_times() 4 +.el .IP \f(CWactive_times()\fR 4 +.IX Item "active_times()" +Returns a reference to a hash where the keys are the group names and each +value is a reference to an array containing the time the groups was created +and an identifier, possibly an Email address, of the creator. +.ie n .IP active([$pattern]) 4 +.el .IP \f(CWactive([$pattern])\fR 4 +.IX Item "active([$pattern])" +Similar to \f(CW\*(C`list\*(C'\fR but only active groups that match the pattern are returned. +\&\f(CW$pattern\fR can be a group pattern. +.ie n .IP xgtitle($pattern) 4 +.el .IP \f(CWxgtitle($pattern)\fR 4 +.IX Item "xgtitle($pattern)" +Returns a reference to a hash where the keys are all the group names which +match \f(CW$pattern\fR and each value is the description text for the group. +.ie n .IP """xhdr($header, $message_spec)""" 4 +.el .IP "\f(CWxhdr($header, $message_spec)\fR" 4 +.IX Item "xhdr($header, $message_spec)" +Obtain the header field \f(CW$header\fR for all the messages specified. +.Sp +The return value will be a reference +to a hash where the keys are the message numbers and each value contains +the text of the requested header for that message. +.ie n .IP xover($message_spec) 4 +.el .IP \f(CWxover($message_spec)\fR 4 +.IX Item "xover($message_spec)" +The return value will be a reference +to a hash where the keys are the message numbers and each value contains +a reference to an array which contains the overview fields for that +message. +.Sp +The names of the fields can be obtained by calling \f(CW\*(C`overview_fmt\*(C'\fR. +.ie n .IP xpath($message_id) 4 +.el .IP \f(CWxpath($message_id)\fR 4 +.IX Item "xpath($message_id)" +Returns the path name to the file on the server which contains the specified +message. +.ie n .IP """xpat($header, $pattern, $message_spec)""" 4 +.el .IP "\f(CWxpat($header, $pattern, $message_spec)\fR" 4 +.IX Item "xpat($header, $pattern, $message_spec)" +The result is the same as \f(CW\*(C`xhdr\*(C'\fR except the is will be restricted to +headers where the text of the header matches \f(CW$pattern\fR +.ie n .IP xrover($message_spec) 4 +.el .IP \f(CWxrover($message_spec)\fR 4 +.IX Item "xrover($message_spec)" +The XROVER command returns reference information for the article(s) +specified. +.Sp +Returns a reference to a HASH where the keys are the message numbers and the +values are the References: lines from the articles +.ie n .IP listgroup([$group]) 4 +.el .IP \f(CWlistgroup([$group])\fR 4 +.IX Item "listgroup([$group])" +Returns a reference to a list of all the active messages in \f(CW$group\fR, or +the current group if \f(CW$group\fR is not specified. +.ie n .IP reader() 4 +.el .IP \f(CWreader()\fR 4 +.IX Item "reader()" +Tell the server that you are a reader and not another server. +.Sp +This is required by some servers. For example if you are connecting to +an INN server and you have transfer permission your connection will +be connected to the transfer daemon, not the NNTP daemon. Issuing +this command will cause the transfer daemon to hand over control +to the NNTP daemon. +.Sp +Some servers do not understand this command, but issuing it and ignoring +the response is harmless. +.SS Unsupported +.IX Subsection "Unsupported" +The following NNTP command are unsupported by the package, and there are +no plans to do so. +.PP +.Vb 4 +\& AUTHINFO GENERIC +\& XTHREAD +\& XSEARCH +\& XINDEX +.Ve +.SS Definitions +.IX Subsection "Definitions" +.ie n .IP $message_spec 4 +.el .IP \f(CW$message_spec\fR 4 +.IX Item "$message_spec" +\&\f(CW$message_spec\fR is either a single message-id, a single message number, or +a reference to a list of two message numbers. +.Sp +If \f(CW$message_spec\fR is a reference to a list of two message numbers and the +second number in a range is less than or equal to the first then the range +represents all messages in the group after the first message number. +.Sp +\&\fBNOTE\fR For compatibility reasons only with earlier versions of Net::NNTP +a message spec can be passed as a list of two numbers, this is deprecated +and a reference to the list should now be passed +.ie n .IP $pattern 4 +.el .IP \f(CW$pattern\fR 4 +.IX Item "$pattern" +The \f(CW\*(C`NNTP\*(C'\fR protocol uses the \f(CW\*(C`WILDMAT\*(C'\fR format for patterns. +The WILDMAT format was first developed by Rich Salz based on +the format used in the UNIX "find" command to articulate +file names. It was developed to provide a uniform mechanism +for matching patterns in the same manner that the UNIX shell +matches filenames. +.Sp +Patterns are implicitly anchored at the +beginning and end of each string when testing for a match. +.Sp +There are five pattern matching operations other than a strict +one-to-one match between the pattern and the source to be +checked for a match. +.Sp +The first is an asterisk \f(CW\*(C`*\*(C'\fR to match any sequence of zero or more +characters. +.Sp +The second is a question mark \f(CW\*(C`?\*(C'\fR to match any single character. The +third specifies a specific set of characters. +.Sp +The set is specified as a list of characters, or as a range of characters +where the beginning and end of the range are separated by a minus (or dash) +character, or as any combination of lists and ranges. The dash can +also be included in the set as a character it if is the beginning +or end of the set. This set is enclosed in square brackets. The +close square bracket \f(CW\*(C`]\*(C'\fR may be used in a set if it is the first +character in the set. +.Sp +The fourth operation is the same as the +logical not of the third operation and is specified the same +way as the third with the addition of a caret character \f(CW\*(C`^\*(C'\fR at +the beginning of the test string just inside the open square +bracket. +.Sp +The final operation uses the backslash character to +invalidate the special meaning of an open square bracket \f(CW\*(C`[\*(C'\fR, +the asterisk, backslash or the question mark. Two backslashes in +sequence will result in the evaluation of the backslash as a +character with no special meaning. +.RS 4 +.IP Examples 4 +.IX Item "Examples" +.PD 0 +.ie n .IP """[^]\-]""" 4 +.el .IP \f(CW[^]\-]\fR 4 +.IX Item "[^]-]" +.PD +matches any single character other than a close square +bracket or a minus sign/dash. +.ie n .IP *bdc 4 +.el .IP \f(CW*bdc\fR 4 +.IX Item "*bdc" +matches any string that ends with the string "bdc" +including the string "bdc" (without quotes). +.ie n .IP """[0\-9a\-zA\-Z]""" 4 +.el .IP \f(CW[0\-9a\-zA\-Z]\fR 4 +.IX Item "[0-9a-zA-Z]" +matches any single printable alphanumeric ASCII character. +.ie n .IP """a??d""" 4 +.el .IP \f(CWa??d\fR 4 +.IX Item "a??d" +matches any four character string which begins +with a and ends with d. +.RE +.RS 4 +.RE +.SH EXPORTS +.IX Header "EXPORTS" +\&\fINone\fR. +.SH "KNOWN BUGS" +.IX Header "KNOWN BUGS" +See <https://rt.cpan.org/Dist/Display.html?Status=Active&Queue=libnet>. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +Net::Cmd, +IO::Socket::SSL. +.SH AUTHOR +.IX Header "AUTHOR" +Graham Barr <gbarr@pobox.com <mailto:gbarr@pobox.com>>. +.PP +Steve Hay <shay@cpan.org <mailto:shay@cpan.org>> is now maintaining +libnet as of version 1.22_02. +.SH COPYRIGHT +.IX Header "COPYRIGHT" +Copyright (C) 1995\-1997 Graham Barr. All rights reserved. +.PP +Copyright (C) 2013\-2016, 2020 Steve Hay. All rights reserved. +.SH LICENCE +.IX Header "LICENCE" +This module is free software; you can redistribute it and/or modify it under the +same terms as Perl itself, i.e. under the terms of either the GNU General Public +License or the Artistic License, as specified in the \fILICENCE\fR file. +.SH VERSION +.IX Header "VERSION" +Version 3.15 +.SH DATE +.IX Header "DATE" +20 March 2023 +.SH HISTORY +.IX Header "HISTORY" +See the \fIChanges\fR file. |