perl比较好的博客:http://www.cnblogs.com/cosiray/archive/2012/03/18/2404371.html

以分析一个简单的pm文件为例

#
# オプションの取得
#

#后面为注释

use RcxmlReader;
use ProcModuleReader;
use SubListWriter;

用use关键字导入子模块,作用等同于java的import

my $moduleID;
my $targetID;

关键字my 定义变量

&GetOptions("config=s" => \$configFile,
"moduleID=s" => \$moduleID,
"targetID=s" => \$targetID);

从外部传递参数,键值对的形式,3个参数

if ($configFile eq ""){

    die "结束程序";
}

die是结束当前的程序退出,相当于java的return功能,或者system.exit()方法

my @osSet=();
foreach my $os (@{$ciSetAddr}){
my $ciNameListAddr = $os->getCiNameList;
foreach my $ci (@{$ciNameListAddr}){
if ($ci =~ /OS/){
$logger->trace("[createAutomatedProcedure.pl] WORK ci=$ci");
push(@osSet,$os);
}
}
}

调用os的方法getCiNameList()得到ciNameListAddr(list类型),然后循环ciNameListAddr,将匹配到字符串“OS”的push到队列osSet中。

my $ref = $subListWriter->write($moduleID,$targetID,\@osSet);

调用子模块subListWriter里面的write方法,传递3个参数。

perl基础的更多相关文章

  1. Perl基础速成

    本文是针对没有Perl基础,但想用perl一行式命令取代grep/awk/sed的人,用于速学Perl基础知识. Perl一行式系列文章:Perl一行式程序 perl的-e选项 perl命令的-e选项 ...

  2. Perl 基础语法

    Perl 基础语法 Perl借用了C.sed.awk.shell脚本以及很多其他编程语言的特性,语法与这些语言有些类似,也有自己的特点. Perl 程序有声明与语句组成,程序自上而下执行,包含了循环, ...

  3. 2.Perl基础系列之入门

    官网提供的入门链接:http://perldoc.perl.org/perlintro.html 语法概述 Perl的安装步骤省略,直接去官网下载并按照提示安装即可. 如果Perl安装没问题,那么运行 ...

  4. perl基础-1

    基础 向函数中传递两个数组,使用指针 sub getSql{(my a,my b)=@_;my @array=@$a;} my @a;my @b; getSql(\@a,\@b); length($s ...

  5. perl基础:传递hash类型参数

    1 如果是只有一个参数要传,且是hash,最直接想到的办法就是像传其他类型参数一样直接传, 如:   subFuntion(%hash1); 2 如果有多于一个参数要传,这里假设只有一个参数的类型是h ...

  6. 1.Perl基础系列之WHAT、WHY、HOW

    What? Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发. Why? Perl追求简洁快速地解决问题,可很方便 ...

  7. Perl基础(1)chop与chomp的区别

    chop是去掉字符串的最后一个字符 chomp是去掉"$/"指定的结尾符号 测试程序一: [perl] #!/bin/perl $tmp = "sincere" ...

  8. perl基础01

    参考:Perl教程 1.Perl简介 Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的. Perl具有高级语言的强大能 ...

  9. Perl基础语法

    一.脚本文件perl 代码可以写在一个文本文件中,以 .pl..PL 作为后缀.文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格.一个简单的Perl 文件名:rurun_ ...

随机推荐

  1. checkbox属性checked="checked"通过js已设置,但是不勾选

    1.通过 attr('checked','checked') 来设置checkbox时,重复点击,虽然checked属性设置正确,但是checkbox没有被勾选 ,如下代码:(代码是全选功能) $(' ...

  2. 51Nod 1256 乘法逆元 Label:exgcd

    1256 乘法逆元 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K ...

  3. JS性能优化笔记搜索整理

    通过网上查找资料了解关于性能优化方面的内容,现简单整理,仅供大家在优化的过程中参考使用,如有什么问题请及时提出,再做出相应的补充修改. 一. 让代码简洁:一些简略的表达方式也会产生很好的优化 eg:x ...

  4. Linux之进程管理

    ==================================================================================================== ...

  5. 转 Datatables中文API——基本参数

    鉴于自己一直在使用datatables,发现这是个很不错的表格插件,但是好的东西都是英文的,所以我结合自己的使用经验,把官网的英文api做下简单的翻译,同时也希望大家把自己的使用经验一起分享出来,让我 ...

  6. Hibernate学习笔记2

    hibernate.cfg.xml文件配置中: <property name="hibernate.hbm2ddl.auto">update</property& ...

  7. webdriver中处理alert

    1 定义isAlertPresent()供调用: public  boolean isAlertPresent() {  try {   driver.switchTo().alert();   re ...

  8. linux recv 返回值与linux socket 错误分析

    转载:http://blog.csdn.net/henry115/article/details/7054603 recv函数 int recv( SOCKET s, char FAR *buf, i ...

  9. php二维数组的取值与转换

    while(list($key,$value) = each($arr)) { while(list($k,$v) = each($value)) { echo $key."==>&q ...

  10. iOS Mail.app inject kit

    from:https://github.com/jansoucek/iOS-Mail.app-inject-kit 测试机:iOS 8.2 发一封邮件. Apple ID的重要性不言而喻,这种钓鱼手法 ...