Learning Perl: 10.4. The Naked Block Control Structure
来源:互联网 发布:添加打印机无usb端口 编辑:程序博客网 时间:2024/06/05 18:06
10.4. The Naked Block Control Structure
The so-called "naked" block is one without a keyword or condition. That is, suppose you start with a while loop, which looks something like this:
while (condition) { body; body; body; }
Remove the while keyword and the conditional expression, and you'll have a naked block:
{ body; body; body; }
The naked block is like a while or foreach loop, except that it doesn't loop; it executes the body of the loop once, and it's done. It's an un-loop!
You'll see other uses for the naked block, but one of its features is providing a scope for temporary lexical variables:
{ print "Please enter a number: "; chomp(my $n = <STDIN>); my $root = sqrt $n; # calculate the square root print "The square root of $n is $root./n"; }
In this block, $n and $root are temporary variables scoped to the block. As a general guideline, all variables should be declared in the smallest scope available. If you need a variable for a few lines of code, you can put those lines into a naked block and declare the variable inside that block. If you need the value of $n or $root later, you will need to declare them in a larger scope.
You may have noticed the sqrt function in that code and wondered about it; yes, we haven't shown this function before. Perl has many built-in functions beyond the scope of this book. When you're ready, check the perlfunc manpage to learn about more of them.
- Learning Perl: 10.4. The Naked Block Control Structure
- Perl Learning: 2.6. The if Control Structure
- Perl Learning: 2.9. The while Control Structure
- Learning Perl: 3.6. The foreach Control Structure
- Learning Perl: 10.1. The unless Control Structure
- Learning Perl: 10.2. The until Control Structure
- Learning Perl: 2.8. The chomp Operator
- Perl Learning: 2.10. The undef Value
- Learning Perl: 2.11. The defined Function
- Learning Perl: 4.8. The use strict Pragma
- Learning Perl: 4.9. The return Operator
- Learning Perl: 5.3. The Invocation Arguments
- Learning Perl: 8.4. The Binding Operator, =~
- Learning Perl: 8.6. The Match Variables
- Learning Perl: 9.2. The split Operator
- Learning Perl: 9.3. The join Function
- Learning Perl: 10.5. The elsif Clause
- Learning Perl
- Learning Perl: 10.1. The unless Control Structure
- 重置cdr的billsec的方法
- 飞秋_飞秋2010_飞秋2010下载_飞秋下载2010正式版
- Learning Perl: 10.2. The until Control Structure
- Learning Perl: 10.3. Expression Modifiers
- Learning Perl: 10.4. The Naked Block Control Structure
- Learning Perl: 10.5. The elsif Clause
- Learning Perl: 10.6. Autoincrement and Autodecrement
- ASP.NET中Response.Redirect()方法深度剖析(转)
- 一些学习prestashop的好网站
- Scite配置
- jfreechart实例
- 精华贴子整理
- 如何在ListBox中添加控件后让ListBox滚动到最底部