The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

post

Implements all methods related to posting articles. The following methods are included:

post ([ SERVER ])

Posts the article using the NNTP POST command. Under most circumstances, this is how you want to post an article. SERVER, if specified, may be either the name or IP address of a news server to use for posting or a reference to an open Net::NNTP connection to be used. undef is returned on success; the error message is returned on failure.

Before this method is called, the message headers should be rewritten into ones appropriate for a news message; this is one of the purposes of the modules.

post_ihave ([ SERVER ])

Posts the article using the NNTP IHAVE command. This connects to a news server as a transfer server rather than as a client; under most circumstances this is not what you want. Unless you already know what IHAVE is, you may not want to use this. In order to use this posting method, the article already has to have all necessary headers to be a properly formatted news article, including Path and Message-ID; unlike POST, IHAVE will not automatically fill in missing headers.

As above, SERVER if specified may be either the name or IP address of a news server to use for posting or a reference to an open Net::NNTP connection. undef is returned on success; the error message is returned on failure.

post_program (COMMAND [, ARGUMENT ... ])

Posts the article by running a program and passing the article to it on stdin. This can be used to post via inews or rnews if you so wish, although using the post() method is recommended under most circumstances. The arguments to the command should be a list of strings; this command does not fork a shell so shell metacharacters will not be interpreted as such.

If the program exits with status 0, success is assumed and this method returns undef. If the program exits with non-zero status or some other error occurs, this method returns the output of the program (both stdout and stderr) and an error message. The output and error message will be newline-terminated.