Learning Perl: 10.4. The Naked Block Control Structure
2010-07-21 18:02
141 查看
10.4. The Naked Block Control StructureThe 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.1. The unless Control Structure
- Learning Perl: 10.2. The until Control Structure
- Perl Learning: 2.6. The if Control Structure
- Learning Perl: 3.6. The foreach Control Structure
- Perl Learning: 2.9. The while Control Structure
- Heap Verifier Stops in Appverifier and The Structure of a Page Heap Block
- StructLayoutAttribute- control the physical layout of the data fields of a class or structure.
- The basic GridView control structure
- How to block USB Thumb Drives and USB Hard Drives, but allow specific USB Drives in the Application and Device Control Policy in Symantec Endpoint Pro
- UVA - 11995 I Can Guess the Data Structure!(水题)
- AsyncCallback The Windows Control
- AsyncCallback The Windows Control
- Dancing Naked in the Mind Field
- The structure of the Reiser file system
- Kattis -I Can Guess the Data Structure!
- Programming the Parallel Port - Interfacing the PC for Data Acquisition & Process Control
- How to set the width of columns?about chart control for .net
- nginx提示Job for nginx.service failed because the control的问题
- Inversion of Control Containers and the Dependency Injection pattern--Martin Fowler
- 60.View the Exhibit and examine the structure of CUSTOMERS table.