⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 internet services.mht

📁 Perl 编程技巧大全。适合初学者阅读。
💻 MHT
📖 第 1 页 / 共 4 页
字号:
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdad00>@group</FONT> =3D $server-&gt;group<FONT =
color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"comp.lang.perl.misc"</FONT><FONT =
color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't select group =
comp.lang.perl.misc\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#cdad00>@lines</FONT> =3D $server-&gt;head<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdad00>$group</FONT><FONT =
color=3D#00ffff>[</FONT><FONT color=3D#cdcd00>1</FONT><FONT =
color=3D#00ffff>])</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't get headers from first article in =
comp.lang.perl.misc\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$server-&gt;post<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@message</FONT><FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't post\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#00ffff>(</FONT>$server-&gt;
postok<FONT color=3D#00ffff>()</FONT>
<FONT color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
    <FONT color=3D#98fb98>warn</FONT> <FONT color=3D#00cd00>"You may not =
post.\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN990>Reading Mail with POP3</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
  <TBODY>
  <TR>
    <TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT>$pop =3D Net::POP3-&gt;new<FONT =
color=3D#00ffff>(</FONT>$mail_server<FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't open connection to $mail_server : =
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>defined</FONT> <FONT =
color=3D#00ffff>(</FONT>$pop-&gt;login<FONT =
color=3D#00ffff>(</FONT>$username, $password<FONT =
color=3D#00ffff>))</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't authenticate: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
$messages =3D $pop-&gt;list
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't get list of undeleted messages: =
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>foreach</FONT> <FONT color=3D#9ac0cd>$msgid</FONT> =
<FONT color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>keys</FONT> =
%$messages<FONT color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
    $message =3D $pop-&gt;get<FONT color=3D#00ffff>(</FONT>$msgid<FONT =
color=3D#00ffff>);</FONT>
    <FONT color=3D#ffa500>unless</FONT> <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>defined</FONT> =
$message<FONT color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#98fb98>warn</FONT> <FONT =
color=3D#00cd00>"Couldn't fetch $msgid from server: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
        <FONT color=3D#ffa500>next</FONT><FONT color=3D#00ffff>;</FONT>
    <FONT color=3D#00ffff>}</FONT>
    <FONT color=3D#bebebe># $message is a reference to an array of lines
</FONT>    $pop-&gt;<FONT color=3D#ff7f50>delete</FONT><FONT =
color=3D#00ffff>(</FONT>$msgid<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$pop =3D Net::POP3-&gt;new<FONT color=3D#00ffff>(</FONT> <FONT =
color=3D#00cd00>"pop.myisp.com"</FONT> <FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't connect to pop.myisp.com: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$pop =3D Net::POP3-&gt;new<FONT color=3D#00ffff>(</FONT> <FONT =
color=3D#00cd00>"pop.myisp.com"</FONT>,
                       <FONT color=3D#00cd00>Timeout</FONT> =3D&gt; =
<FONT color=3D#cdcd00>30</FONT> <FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't connect to pop.myisp.com : =
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ff7f50>defined</FONT> <FONT =
color=3D#00ffff>(</FONT>$pop-&gt;login<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"gnat"</FONT>, <FONT =
color=3D#00cd00>"S33kr1T Pa55w0rD"</FONT><FONT color=3D#00ffff>))</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Hey, my username and password didn't =
work!\n"</FONT><FONT color=3D#00ffff>;</FONT>

<FONT color=3D#ff7f50>defined</FONT> <FONT =
color=3D#00ffff>(</FONT>$pop-&gt;login<FONT color=3D#00ffff>(</FONT> =
<FONT color=3D#00cd00>"midget"</FONT> <FONT color=3D#00ffff>))</FONT>    =
       <FONT color=3D#bebebe># use Net::Netrc to find password
</FONT>    <FONT color=3D#98fb98>or</FONT> <FONT =
color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"Authentication =
failed.\n"</FONT><FONT color=3D#00ffff>;</FONT>

<FONT color=3D#ff7f50>defined</FONT> <FONT =
color=3D#00ffff>(</FONT>$pop-&gt;
login<FONT color=3D#00ffff>())</FONT>
                     <FONT color=3D#bebebe># current username and =
Net::Netrc
</FONT>    <FONT color=3D#98fb98>or</FONT> <FONT =
color=3D#ffa500>die</FONT> <FONT color=3D#00cd00>"Authentication failed. =
 Miserably.\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$pop-&gt;apop<FONT color=3D#00ffff>(</FONT> $username, $password =
<FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Couldn't authenticate: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#cdcd00>%undeleted</FONT> =3D $pop-&gt;
list<FONT color=3D#00ffff>();</FONT>

<FONT color=3D#ffa500>foreach</FONT> <FONT =
color=3D#9ac0cd>$msgnum</FONT> <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#ff7f50>keys</FONT> <FONT color=3D#cdcd00>%undeleted</FONT><FONT =
color=3D#00ffff>)</FONT> <FONT color=3D#00ffff>{</FONT>
    <FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Message =
$msgnum is </FONT><FONT color=3D#cdcd00>$undeleted</FONT><FONT =
color=3D#00cd00>{$msgnum} bytes long.\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"Retrieving $msgnum : "</FONT><FONT =
color=3D#00ffff>;</FONT>
$message =3D $pop-&gt;get<FONT color=3D#00ffff>(</FONT>$msgnum<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>$message<FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
    <FONT color=3D#bebebe># succeeded
</FONT>    <FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"\n"</FONT><FONT color=3D#00ffff>;</FONT>
    <FONT color=3D#ff7f50>print</FONT> @$message<FONT =
color=3D#00ffff>;</FONT>                <FONT color=3D#bebebe># print =
the message
</FONT><FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT>
        <FONT color=3D#bebebe># failed
</FONT>    <FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"failed ($!)\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN993>Simulating Telnet from a =
Program</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
  <TBODY>
  <TR>
    <TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Net::Telnet</FONT><FONT color=3D#00ffff>;</FONT>

$t =3D Net::Telnet-&gt;new<FONT color=3D#00ffff>(</FONT> <FONT =
color=3D#00cd00>Timeout</FONT> =3D&gt; <FONT color=3D#cdcd00>10</FONT>,
                       <FONT color=3D#00cd00>Prompt</FONT>  =3D&gt; =
<FONT color=3D#00cd00>'/%/'</FONT>,
                       <FONT color=3D#00cd00>Host</FONT>    =3D&gt; =
$hostname <FONT color=3D#00ffff>);</FONT>

$t-&gt;login<FONT color=3D#00ffff>(</FONT>$username, $password<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#cdad00>@files</FONT> =3D $t-&gt;cmd<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"ls"</FONT><FONT =
color=3D#00ffff>);</FONT>
$t-&gt;<FONT color=3D#ff7f50>print</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"top"</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>undef</FONT>, =
$process_string<FONT color=3D#00ffff>)</FONT> =3D $t-&gt;waitfor<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>'/\d+ =
processes/'</FONT><FONT color=3D#00ffff>);</FONT>
$t-&gt;<FONT color=3D#98fb98>close</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>/<FONT color=3D#00ffff>[</FONT>\$%<FONT color=3D#bebebe>#&gt;] $/
#-----------------------------
</FONT>$telnet =3D Net::Telnet-&gt;new<FONT color=3D#00ffff>(</FONT> =
<FONT color=3D#00cd00>Errmode</FONT> =3D&gt; <FONT =
color=3D#ffa500>sub</FONT> <FONT color=3D#00ffff>{</FONT> main::<FONT =
color=3D#98fb98>log</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@_</FONT><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>}</FONT>, ... <FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$telnet-&gt;login<FONT color=3D#00ffff>(</FONT>$username, =
$password<FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Login failed: @{[ $telnet-&gt;errmsg() =
]}\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$telnet-&gt;waitfor<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>'/--more--/'</FONT><FONT color=3D#00ffff>)</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$telnet-&gt;waitfor<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>String</FONT> =3D&gt; <FONT color=3D#00cd00>'greasy =
smoke'</FONT>, <FONT color=3D#00cd00>Timeout</FONT> =3D&gt; <FONT =
color=3D#cdcd00>30</FONT><FONT color=3D#00ffff>)</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN996>Pinging a Machine</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
  <TBODY>
  <TR>
    <TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Net::Ping</FONT><FONT color=3D#00ffff>;</FONT>

$p =3D Net::Ping-&gt;new<FONT color=3D#00ffff>()</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't create new ping object: $!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"$host is =
alive"</FONT> <FONT color=3D#ffa500>if</FONT> $p-&gt;ping<FONT =
color=3D#00ffff>(</FONT>$host<FONT color=3D#00ffff>);</FONT>
$p-&gt;<FONT color=3D#98fb98>close</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
# use TCP if we're not root, ICMP if we are
</FONT>$pong =3D Net::Ping-&gt;new<FONT color=3D#00ffff>(</FONT> $&gt; ? =
<FONT color=3D#00cd00>"tcp"</FONT> : <FONT color=3D#00cd00>"icmp"</FONT> =
<FONT color=3D#00ffff>);</FONT>

<FONT color=3D#00ffff>(</FONT><FONT color=3D#ff7f50>defined</FONT> =
$pong<FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Couldn't create Net::Ping object: =
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>

<FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>$pong-&gt;ping<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"kingkong.com"</FONT><FONT =
color=3D#00ffff>))</FONT> <FONT color=3D#00ffff>{</FONT>
    <FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"The giant =
ape lives!\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> <FONT =
color=3D#00ffff>{</FONT>
    <FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"All hail =
mighty Gamera, friend of children!\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN999>Using Whois to Retrieve Information =
from the=20
InterNIC</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
  <TBODY>
  <TR>
    <TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Net::Whois</FONT><FONT color=3D#00ffff>;</FONT>

$domain_obj =3D Net::Whois::Domain-&gt;new<FONT =
color=3D#00ffff>(</FONT>$domain_name<FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Couldn't get information on $domain_name: =
$!\n"</FONT><FONT color=3D#00ffff>;</FONT>

<FONT color=3D#bebebe># call methods on $domain_obj to get name, tag, =
address, etc.
#-----------------------------
</FONT>$d =3D Net::Whois::Domain-&gt;new<FONT color=3D#00ffff>(</FONT> =
<FONT color=3D#00cd00>"perl.org"</FONT> <FONT color=3D#00ffff>)</FONT>
    <FONT color=3D#98fb98>or</FONT> <FONT color=3D#ffa500>die</FONT> =
<FONT color=3D#00cd00>"Can't get information on perl.org\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"The =
domain is called "</FONT>, $d-&gt;domain, <FONT =

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -