Lesson5 - Spring, 2009 1 Perl 入门和提高 Lesson 5...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Spring, 2009 1 Perl 入门和提高 Lesson 5 周晓方 courses@xfzhou.homeftp.org Spring, 2009 2 " my ", " local ", and " our " (perl5.6+) • 字典作用域 my declares a lexical variable totally hidden from the outside world – 只用于当前作用域,不自动传递给所调用的子程序 – 可以模仿 C 语言的 auto 变量 – 要模仿 C 语言的 static 变量,可以这样写 • 动态作用域 local – 自动传递给所调用的子程序 • 全局作用域 our (perl5.6+) – use vars qw( 变量列表 ), 例 use vars qw($frob @mung %seen); – 缺省情况下都是全局变量 , 可以用 $v, $::v, 或 $main::v 引用 { my($s) = 0; # 单独用一对 {} ,在里面定义 my 变量和子程序 sub getnext { $s++; } } # $s 对外不可见,但每次调用 getnext 之间都保留 $s 的值 print getnext; print getnext; print getnext; Spring, 2009 3 Sample a(); our $x=7; our $y = 17; a(); sub a { my $x = 10; local $y = 5; print "ax$x, ay$y\n"; b(); } sub b { print "bx$x, by$y\n"; } ax10, ay5 有字典变 量 x ,有动态变量 y ,都是在 a 中定义 的 bx, by5 没有全局、动态 和字典变量 x ,有动态变量 y( 在 a 中定义的 ) ax10, ay5 有字典变 量 x ,有动态变量 y ,都是在 a 中定义 的 bx7, by5 有全局变 量 x( 用 our 定义的 ) ,有动态变量 y( 在 a 中定义的 ) Spring, 2009 4 Program • Perl 程序的一般结构 ( 务必用 my 定义变量 ) #!/usr/local/bin/perl -w use strict; use lib "path"; use module_names; require "sourcefile"; … main code … sub routine1 { … } sub routine2 { … } sub routine3 { … } … 1; __END__ … pod usually starts here 回家作业 ( 附件 学号-No.4.pl ) 1. 用级数展 开 sin(x) (x<pi) 2. 编写子程 序 sub mysin ,第一 个参数是 x, 第二个参数是 n, 返 回 sin(x) 级数展开到第 n+1 项 3. 主程序调 用 mysin(1,$n) ,其 中 $n=(1..10) ,显示每次计 算的结果,运行结果如下 : 1 0.833333333333333 2 0.841666666666667 3 0.841468253968254 4 0.841471009700176 5 0.841470984648068 6 0.841470984808658 7 0.8414709848078940....
View Full Document

This note was uploaded on 04/04/2010 for the course EE INFO130098 taught by Professor Zhou during the Spring '10 term at Fudan University.

Page1 / 2

Lesson5 - Spring, 2009 1 Perl 入门和提高 Lesson 5...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online