我想读取邮箱中的邮件,提取邮件中的信息,不知道如何可以读取邮件哪<br><br>
<div><span class="gmail_quote">在07-12-8,<b class="gmail_sendername">Qiang ( James ) Li</b> &lt;<a href="mailto:shijialee@gmail.com">shijialee@gmail.com</a>&gt; 写道:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">不好意思,这几天比较忙.... 下面是我得回复 :<br><br>rorot wrote:<br>&gt; 在07-12-3,*Qiang ( James ) Li* 写道:<br>&gt;<br><br>&gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 另外,我碰巧要用从网页的 DOM 里提取数据,试了一下 Web::Scraper 发现很好<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 用。<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://search.cpan.org/~miyagawa/Web-Scraper-0.24/lib/Web/Scraper.pm">http://search.cpan.org/~miyagawa/Web-Scraper-0.24/lib/Web/Scraper.pm
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 文档里的例子就能说明它的用途。<br>&gt;<br>&gt;<br>&gt; 一下子没看明白Web::Scraper的优势。这个。。。。。。。<br><br>我也是刚开始. Web::Scraper 的优势是你可以根据 CSS (class/span 名称) 和<br>html tag 来获得你想要的内容.<br><br>作者 use.perl 上有个例子:<br><br>use Web::Scraper;
<br>use URI;<br><br>my $uri =<br>URI-&gt;new(&quot;<a href="http://wikisubtitles.net/ajax_loadShow.php?show=65&amp;season=3">http://wikisubtitles.net/ajax_loadShow.php?show=65&amp;season=3</a>&quot;);<br>my $scraper = scraper {
<br>&nbsp;&nbsp; process &#39;//td[@class=&quot;idioma&quot;][text()=~&quot;English \(US\)&quot;]/..//a&#39;,<br>&#39;links[]&#39; =&gt; &#39;@href&#39;;<br>};<br>my $result = $scraper-&gt;scrape($uri);<br><br>解释一下就是寻找使用 class 名称为 idioma 的 td, 内容匹配 English (US),
<br>然后把 td 里面的链接抓来. 这个模块是基于 ruby scraper 工具,目前 perl 版<br>的文档很少,基本上要看 ruby 的文档才可以.<br><br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 程序是运行在 mod_perl 下的么?如果是的话那就没有必要动态加载。即使在<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; plain cgi 下,多加载一个或两个模块对运行速度到底有多大区别?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 常说的一句话:在你没有找到瓶颈的时候,不要做无谓的提速。
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 动态加载你可以使用 require :<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; if ( $output_type = &#39;xml&#39; ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eval { require XML::OUTPUT };<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die if $@;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print $xml_output;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&gt;<br>&gt;<br>&gt; 这话说的对,用eval{ require...}处理动态加载,不失为一种方法。不过我现把<br>&gt; 该用到的块先包进来再说。其余在以后调优。另外,我有个关于mod_perl的问题。<br>&gt; 就是自己的代码包了很多自己写的模块,然后在mod_perl下跑,但是由于在开发阶<br>&gt; 段,所以经常性的修改被脚本包含的模块,但是却不见mod_perl立即更新。而且其<br>&gt; 启动时加载的原来的老模块的内容。搞的我每次修改了模块,都要重启一次
<br>&gt; Apache, 这个问题如何解决呢?<br>&gt;<br>&gt;<br><br>mod_perl 文档里有详细的讲,这是 1.x 的文档:<br><a href="http://perl.apache.org/docs/1.0/guide/porting.html#Reloading_Modules_and_Required_Files">http://perl.apache.org/docs/1.0/guide/porting.html#Reloading_Modules_and_Required_Files
</a><br>开发时可以使用 Apache::Reload. 但在 production 里就不适合了.<br><br>Qiang<br>_______________________________________________<br>China-pm mailing list<br><a href="mailto:China-pm@pm.org">China-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/china-pm">
http://mail.pm.org/mailman/listinfo/china-pm</a></blockquote></div><br><br clear="all"><br>-- <br>BR<br>Steven.zhu