#
!/
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
本文详细介绍了Perl语言中条件判断与循环控制的基本用法,包括if/elsif/else语句、unless语句、while循环、until循环及for循环等,并通过实例展示了如何使用这些结构进行数组操作和简单的数学计算。
2002

被折叠的 条评论
为什么被折叠?



