Love perl
Posted OpeSource
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Love perl相关的知识,希望对你有一定的参考价值。
perl是本人日常工作使用的神器之一,自2008年与perl结缘至今,协助我解决了不少工作中的问题,特别是一些重复和枯燥的工作。
本人Blog:http://tianyv.github.io/2015/06/15/perlintro
一、安装perl
1.1获取DWIM Perl:
Windows 上功能最齐全的整合开发环境:
DWIM Perl http://dwimperl.com/windows.html
Padre:本身用perl写的图形界面编辑器
StrawberryPerl:开源的perl语言解释器
同时包含:常用CPAN模块
1.2安装模块:
可以用cpan或cpanm安装模块
#cpan moulde name
#cpanm moulde name
#如用cpan 安装cpanm
cpan App::cpanminus
#安装特殊版本的模块
cpanm Plack~">= 1.0000, < 2.0000" # latest of 1.xxxx
cpanm Plack@0.9990 # specific v. same as Plack~"== 0.9990"
另外可以用ppm安装模块
#ppm moulde name
二、写自已的模块
2.1安装工具Module::Starter
Install
cpanm Module::Starter
Create
module-starter --module=Hexo::File --mb --author=Tianyv
--email=laitaot@126.com
默认使用 ExtUtils::MakeMaker 作为 builder,可以后面再带 ‘–mb’ 使用 Module::Build 或者带 ‘–mi’ 来使用 Module::Install 作为 builder 引擎。
写Module
位于文件夹\Hexo-File\lib\Hexo
文件名File.pm
package Hexo::File;
use Moose;
use Encode ();
use constant FILE_SLURP => eval { require File::Slurp; 1 };
has path => ( is => 'rw' );
sub slurp {
my $self = shift;
my $slurp =
FILE_SLURP
? File::Slurp::read_file( $self->{path} )
: do {
local $/;
open my $fh, '<', $self->{path} or die;
<$fh>;
};
return Encode::decode( 'UTF-8', $slurp );
}
__PACKAGE__->meta->make_immutable;
no Moose;
1
三、手工安装模块
3.1使用Module::Build 安装
Module::Build 是用来代替 ExtUtils::MakeMaker 的。它不需要 make,可用 Perl 来完成打包工作。
perl Build.PL
perl Build
perl Build test
perl Build install
3.2使用ExtUtils::MakeMaker 安装
如果是网上下载的模块,包内有个Makefile.PL文件 然后使用MakeMaker 安装
perl Makefile.PL
dmake
dmake test
dmake install
如果本例已有Build.PL 可用以下命令生成Makefile.PL文件,再用MakeMaker 安装
perl Build.PL
perl Build
perl Build dist
四、手工卸载模块
4.1安装Module::Which查找模块路径
Install
cpanm Module::Which
4.2写脚本
use Module::Which qw/ which /; #将需查找的模块加入下行
my $result = which('Module::Which', 'Hexo::File');
while (my ($module, $info) = each %$result) {
print "$module:\n";
print " version: $info->{version}\n" if $info->{version};
print " path: $info->{path}\n" if $info->{path};
}
4.3运行脚本,根据显示的路径找到模块手工删除
附:Module::Build主要命令
perl Build.PL
perl Build
perl Build manifest
perl Build test
perl Build dist
perl Build install
#将使用Module::Build过程中额外产生的文件删除
perl Build realclean
以上是关于Love perl的主要内容,如果未能解决你的问题,请参考以下文章