java perl_为Java程序员准备的10分钟Perl教程

1.从基础开始

不像java,Perl不需要“main”方法作为入口点。要运行一个简单的Perl程序如下:

复制代码 代码如下:

# comment starts with "#"

# the name is hello.pl

print "Hello Perl!";

只需执行:

perl hello.pl

2. 日期类型

在Perl中的日期类型是非常简单,它有3种类型:标量,数组和Hash。

标是一个单值,它基本上可以是任何其他比数组或哈希。

数组是一个数组,可以包含不同类型的元素,如整数,字符串。

哈希基本上是像Java的HashMap中。

将下面的代码结合所有的使用情况。

复制代码 代码如下:

#claim a hash and assign some values

my %aHash;

$aHash{'a'}=0;

$aHash{'b'}=1;

$aHash{'c'}=2;

$aHash{'d'}=3;

$aHash{'e'}=4;

#put all keys to an array

my @anArray = keys (%aHash);

#loop array and output each scalar

foreach my $aScalar (@anArray){

print $aScalar."\n";

}

输出结果:

复制代码 代码如下:

e

c

a

d

如果你想对数组进行排序,你可以简单地使用类似下面的排序功能:

复制代码 代码如下:

foreach my $aScalar (sort @anArray){

print $aScalar."\n";

}

3. 条件、循环表达式

Perl为条件和循环语句准备了if, while, for, foreach等关键字,这与Java非常类似(switch除外)。

详情请见下面的代码:

复制代码 代码如下:

#if my $condition = 0;

if( $condition == 0){

print "=0\n";

}

elsif($condition == 1){

print "=1\n";

}

else{

print "others\n";

}

#while while($condition < 5){

print $condition;

$condition++;

}

for(my $i=0; $i< 5; $i++){

print $i;

}

#foreach my @anArray = ("a", 1, 'c');

foreach my $aScalar (sort @anArray){

print $aScalar."\n";

}

4.文件的读写

下面这个例子向我们展示了如何读写文件。这里请注意">"和">>"之间的区别,">>"在文件末尾追加内容,">"创建一个新的文件储存信息。

复制代码 代码如下:

#read from a file

my $file = "input.txt";

open(my $fh, "

while ( my $aline = ) {

#chomp so no new line character

chomp($aline);

print $aline;

}

close $fh;

# write to a file

my $output = "output.txt";

open (my $fhOutput, ">", $output) or die("Error: Cannot open $output file!");

print $fhOutput "something";

close $fhOutput;

5.正则表达式

Perl中有两种使用正则表达式的方法:m和s。

下面的代码在$str上应用了正则表达式。

复制代码 代码如下:$str =~ m/program(creek|river)/

如果$str的内容是“programcreek”,表达式将会返回true。这也可以被用于条件判断或循环。

6.传值/引用的语法

在Perl中没有必要定义方法/函数,但如果你这么做了,那将大大提高代码的模块化和可充用性。但我们需要对参数的传递非常小心。

你可以直接传递一个标量,但如果传递的是数组或哈希类就需要特别的当心。

数组:

复制代码 代码如下:

my @testArray = (1, 3, 2);

#In sub sub processArrayByReference($) {

my $arrayref = shift;

my @array    = @$arrayref;

#...

}

#In sub processarray: sub processArrayByValue($){

my @array = @_;

#...

}

processArrayByValue(@testArray);

processArrayByReference( \@testArray );

哈系类:

复制代码 代码如下:

sub printHash($) {

my %hash = %{ shift() };

for my $key ( sort keys %hash ) {

my $value = $hash{$key};

print "$key => $value\n";

}

}

printHash(\%twoLettersCount);

7.一些实例

1).遍历字符串中的每个字符。

复制代码 代码如下:

my @lineCharArray = split('',$aline);

foreach my $character (@lineCharArray){

print $character."\n";

}

2).创建一个包含26个字母的数组。

你可以简单地实现这个功能并且无需循环26次。

复制代码 代码如下:

my @charArray = ('a'..'z' );

my @twoCharArray = ('aa'..'zz');

以上是第一个版本的“10分钟”,我还将根据评论持续更新本文。

原文见:http://www.programcreek.com/2012/09/10-minutes-perl-tutorial-for-java-developer/

这就是微学网-程序员之家为你提供的"为Java程序员准备的10分钟Perl教程"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/12882.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值