LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: devel

perl 常用模块使用例子------欢迎大家补充。

[复制链接]
 楼主| 发表于 2003-12-7 20:57:26 | 显示全部楼层
(2)发送html内容[php]
#!/usr/bin/perl

use Mail::Sender;

open(IN, "< ./index.html") or die("");

$sender = new Mail::Sender{
                     smtp => 'localhost',
                     from => 'xxx@localhost'
                     };

$sender->Open({
               to => 'xxx@xxx.com',
               subject => 'xxx',
               msg => "hello!",
               ctype => "text/html",
               encoding => "7bit",
               });

while(<IN>)
{
   $sender->SendEx($_);
}
close IN;
$sender->Close();

print $Mail::Sender::Error eq "" ? "send ok!\n" : $Mail::Sender::Error;[/php]
发送带有图片或其他信息的html邮件,请看`perldoc Mail::Sender`
中的“Sending HTML messages with inline images”及相关部分。
 楼主| 发表于 2004-1-8 21:00:15 | 显示全部楼层
40 Image::Magick
提供者:
http://www.imagemagick.org/www/perl.html


  1. #!/usr/local/bin/perl
  2.     use Image::Magick;

  3.     my($image, $x);

  4.     $image = Image::Magick->new;
  5.     $x = $image->Read('girl.png', 'logo.png', 'rose.png');
  6.     warn "$x" if "$x";

  7.     $x = $image->Crop(geometry=>'100x100"+100"+100');
  8.     warn "$x" if "$x";

  9.     $x = $image->Write('x.png');
  10.     warn "$x" if "$x";
复制代码




The script reads three images, crops them, and writes a single image as a GIF animation sequence. In many cases you may want to access individual images of a sequence. The next example illustrates how this is done:

  1.     #!/usr/local/bin/perl
  2.     use Image::Magick;

  3.     my($image, $p, $q);

  4.     $image = new Image::Magick;
  5.     $image->Read('x1.png');
  6.     $image->Read('j*.jpg');
  7.     $image->Read('k.miff[1, 5, 3]');
  8.     $image->Contrast();
  9.     for ($x = 0; $image->[x]; $x++)
  10.     {
  11.       $image->[x]->Frame('100x200') if $image->[x]->Get('magick') eq 'GIF';
  12.       undef $image->[x] if $image->[x]->Get('columns') < 100;
  13.     }
  14.     $p = $image->[1];
  15.     $p->Draw(stroke=>'red', primitive=>'rectangle', points=>20,20 100,100');
  16.     $q = $p->Montage();
  17.     undef $image;
  18.     $q->Write('x.miff');

  19. Suppose you want to start out with a 100 by 100 pixel white canvas with a red pixel in the center. Try

  20.     $image = Image::Magick->new;
  21.     $image->Set(size=>'100x100');
  22.     $image->ReadImage('xc:white');
  23.     $image->Set('pixel[49,49]'=>'red');

  24. Or suppose you want to convert your color image to grayscale:

  25.     $image->Quantize(colorspace=>'gray');

  26. Here we annotate an image with a Taipai TrueType font:

  27.     $text = 'Works like magick!';
  28.     $image->Annotate(font=>'kai.ttf', pointsize=>40, fill=>'green', text=>$text);

  29. Other clever things you can do with a PerlMagick objects include

  30.     $i = $#$p"+1";   # return the number of images associated with object p
  31.     push(@$q, @$p);  # push the images from object p onto object q
  32.     @$p = ();        # delete the images but not the object p
  33.     $p->Convolve([1, 2, 1, 2, 4, 2, 1, 2, 1]);   # 3x3 Gaussian kernel
复制代码
 楼主| 发表于 2004-4-8 18:15:58 | 显示全部楼层
41.Data::SearchReplace


  1.          use Data::SearchReplace ('sr');
  2.          sr({ SEARCH => 'searching', REPLACE => 'replacing'}, \$complex_var);
  3.                                                                                                 
  4.          # or OO
  5.                                                                                                 
  6.          use Data::SearchReplace;
  7.          $sr = Data::SearchReplace->new({ SEARCH => 'search for this',
  8.                                           REPLACE => 'replace with this' });
  9.                                                                                                 
  10.          $sr->sr(\$complex_var);
  11.          $sr->sr(\$new_complex_var);
  12.                                                                                                 
  13.          # if you want more control over your search/replace pattern you
  14.          #  can pass an entire regex instead complete with attributes
  15.                                                                                                 
  16.          sr({ REGEX => 's/nice/great/gi' }, \$complex_var);
  17.                                                                                                 
  18.          # you can even use a subroutine if you'd like
  19.          #  the input variable is the value and the return sets the new
  20.          #  value.
  21.                                                                                                 
  22.          sr({ CODE => sub { uc($_[0]) } }, \$complex_var);

复制代码



  1.         use Data::SearchReplace qw(sr);
  2.         sr({SEARCH => 'find', REPLACE => 'replace'}, \@data);
  3.         sr({REGEX  => 's/find/replace/g'}, \%data);
  4.         sr({CODE   => sub {uc($_[0])} }, \@data);
复制代码
发表于 2007-2-25 10:00:05 | 显示全部楼层
为啥我make的时候提示我make不是内部或外部命令呢?我是在windows下装的perl.高手给指点一下
回复 支持 反对

使用道具 举报

发表于 2007-11-7 16:38:31 | 显示全部楼层
这帖不顶对不住楼主!!!
回复 支持 反对

使用道具 举报

发表于 2008-3-20 06:41:37 | 显示全部楼层
Post by sgm277;1653958
为啥我make的时候提示我make不是内部或外部命令呢?我是在windows下装的perl.高手给指点一下

因为你的系统搜索路径下根本就没有make这个命令,所以会报错,可以下载Win版的nmake来代替make。

Google "Download nmake"
or

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2011-4-28 17:36:43 | 显示全部楼层
太XX的帖子了!
顶!
回复 支持 反对

使用道具 举报

发表于 2011-4-28 17:38:01 | 显示全部楼层
搞不懂为啥帖主显示为“封禁”?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表