目录
perl 魔符 与 数据类型与引用
魔符分5种:
$代表操作单个值。
@代表操作多个值。
%代表散列操作。
&针对函数子程序。
*针对符号表。
数据类型分为:
变量
数组
散列
引用:
代表标识符。
软引用类似于软链接,存储变量的名字。
$scalar = "Hello";
$refer = $scalar
硬引用类似于硬链接,存储变量的地址。
$scalar = "Hello";
$refer = "scalar";
对于单个元素来说:
魔符 | 标识符 | 索引 |
$ | name | [3]或者{‘Buster’} |
$name[1]
$name{'Buster'}
perl正则表达式
就像算数表达式的操作符有优先级一样,正则表达式的操作符也有优先级。
perl 函数
参数传递通过@_
使用shift取出传递的参数
1.my 和 local的差异:
my操作符用于创建词法作用域,在编译过程中确立。
local操作符是运行时作用域机制,其会将参数的值保存在一个运行栈中,当执行线程离开作用域之后,原先作用域暂存的变量会被恢复。
perl安装包以及使用包
1.对基于Makefile.PL的模块发行版,用INSTALL_BASE指定安装路径:
% perl Makefile.PL INSTALL_BASE=/Users/snuffy
% make test install
对于基于Module::Build的模块发行版,用--install_base指定安装路径
% perl Build.PL --install_base /Users/snuffy
% ./Build test
% ./Build install
2. 使用CPAN.pm安装
只需要告诉其安装路径。
查看配置信息:
% cpan
cpan[1]> o conf makepl_arg
makepl_arg [INSTALL_BASE=/Users/snuffy]
配置CPAN,makepl_arg是配置基于Makefile.PL的安装,mbuild_arg 是配置基于Module::Build的安装
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/Users/snuffy
cpan> o conf mbuild_arg --install_base /Users/snuffy
cpan> o conf commit
安装模块
% cpan Set::CrossProduct IO::Interactive Getopt::Whatever
使用local::lib
local::lib模块会生成一个目录,将cpan安装的模块放在此目录下,
% perl -MCPAN -Mlocal::lib -e 'CPAN::install (Net::MAC::Vendor)'
# install module Net::MAC::Vendor
用户使用的时候只要使用local::lib模块,它就会自动将对应的搜索路径加到@INC中:
#!/usr/bin/perl
use local::lib