perl study note-2
来源:互联网 发布:淘宝装修日记在哪儿看? 编辑:程序博客网 时间:2024/05/01 10:51
#!/usr/bin/perl -w
use strict;
=head1
1 condition:
false when value is 0/null string/string with "0" value/undef;
2 block:
{}; vars only take effect in the block they are defined;
3 compare operators:
<, >, ==, !=... used for numeric compare;
eq, lt, gt, le, ge, ne used for string compare;
4 condition state:
if true {} elsif {} else {};
statement if true; simple!
unless false {};
5 loop state:
while true {};
untile false {};
for (init; condition; operation) {};
"statement of $_" for [@array] | (0...10)
for (1...10) { "statement of $_" };
print for ();
print foreach (@array);
for my $var (1...10) {};
for === foreach
=cut
print "part1 condition/loop................................................. ";
my @array = qw/-1 0 1 2 3 -2 -3/;
my @positive = ();
foreach (@array) {
push @positive, ($_**2) if ($_ > 0);
}
print foreach (@positive);print " ";
@positive = ();
@positive = map { $_**2 } grep {$_ > 0} (@array);
print for (@positive); print " ";
my $test = 0;
print "test=0 " if ($test == 0);
print "test=0 " unless ($test != 0);
print "4 false conditions: 0/null string/string 0/undef ";
my $cond = 0;
print "cond=0: false " if (! $cond);
$cond = "";
print "cond="": false " if (! $cond);
$cond = "0";
print "cond="0": false " if (! $cond);
$cond = undef;
print "cond=undef: false " if (! $cond);
=head2
part2: exercise
1. caculate 1+3+5+...+99;
2. the max value of n when (1+2+..+n)<=100;
3. caculate the factorial of x, inputted by user, x<50 or alarm when x>50;
=cut
print "part2 exercise................................................. ";
my $res = 0;
for (my $i=1; $i<100; $res+=$i, $i+=2) {;}
print "1+3+5+...+99 = $res ";
$res = 0;
my $n = 0;
foreach (1...100){
$n = $_-1;
last if (($res+=$_) > 100);
}
print "res=$res, when n=$n ";
[root@china1 code]# ./perlnote3.pl
part1 condition/loop.................................................
149
149
test=0
test=0
4 false conditions: 0/null string/string 0/undef
cond=0: false
cond="": false
cond="0": false
cond=undef: false
part2 exercise.................................................
1+3+5+...+99 = 2500
res=91, when n=13
use strict;
=head1
1 condition:
false when value is 0/null string/string with "0" value/undef;
2 block:
{}; vars only take effect in the block they are defined;
3 compare operators:
<, >, ==, !=... used for numeric compare;
eq, lt, gt, le, ge, ne used for string compare;
4 condition state:
if true {} elsif {} else {};
statement if true; simple!
unless false {};
5 loop state:
while true {};
untile false {};
for (init; condition; operation) {};
"statement of $_" for [@array] | (0...10)
for (1...10) { "statement of $_" };
print for ();
print foreach (@array);
for my $var (1...10) {};
for === foreach
=cut
print "part1 condition/loop................................................. ";
my @array = qw/-1 0 1 2 3 -2 -3/;
my @positive = ();
foreach (@array) {
push @positive, ($_**2) if ($_ > 0);
}
print foreach (@positive);print " ";
@positive = ();
@positive = map { $_**2 } grep {$_ > 0} (@array);
print for (@positive); print " ";
my $test = 0;
print "test=0 " if ($test == 0);
print "test=0 " unless ($test != 0);
print "4 false conditions: 0/null string/string 0/undef ";
my $cond = 0;
print "cond=0: false " if (! $cond);
$cond = "";
print "cond="": false " if (! $cond);
$cond = "0";
print "cond="0": false " if (! $cond);
$cond = undef;
print "cond=undef: false " if (! $cond);
=head2
part2: exercise
1. caculate 1+3+5+...+99;
2. the max value of n when (1+2+..+n)<=100;
3. caculate the factorial of x, inputted by user, x<50 or alarm when x>50;
=cut
print "part2 exercise................................................. ";
my $res = 0;
for (my $i=1; $i<100; $res+=$i, $i+=2) {;}
print "1+3+5+...+99 = $res ";
$res = 0;
my $n = 0;
foreach (1...100){
$n = $_-1;
last if (($res+=$_) > 100);
}
print "res=$res, when n=$n ";
[root@china1 code]# ./perlnote3.pl
part1 condition/loop.................................................
149
149
test=0
test=0
4 false conditions: 0/null string/string 0/undef
cond=0: false
cond="": false
cond="0": false
cond=undef: false
part2 exercise.................................................
1+3+5+...+99 = 2500
res=91, when n=13
- perl study note-2
- perl study note-1
- perl study note
- jQuery study note 2
- LDD3 study note 2
- MySql study note 2 ---mysqladmin
- DOJO Study Note(2) --AJAX
- Study Note: Logistic Regression(2)
- perl study
- WPF Study Note 2: XAML Overview
- php study note 2 --- basic syntax
- perl note
- note : A-Protect Study note
- WinCE Study Note
- The Study Note
- svn study note 1
- MySql study note 1
- Sed study note
- ireport和jasperReport的资料
- 一步一步学Silverlight 2系列(23):Silverlight与HTML混合之无窗口模式
- 一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
- 朴素的美丽、抑郁中的缕缕阳光——“红衣妹妹”于洋博文选粹
- c#经典入门--学习笔记
- perl study note-2
- 一步一步学Silverlight 2系列(25):综合实例之Live Search
- 一步一步学Silverlight 2系列(26):基本图形
- 一步一步学Silverlight 2系列(27):使用Brush进行填充
- 精雕细琢的地上天堂
- 一步一步学Silverlight 2系列(28):图片处理
- 一步一步学Silverlight 2系列(29):使用Transform实现更炫的效果(上)
- J2EE事务 学习笔记 (1)
- 一步一步学Silverlight 2系列(30):使用Transform实现更炫的效果(下)