start page | rating of books | rating of authors | reviews | copyrights

Programming Perl

Programming PerlSearch this book
Previous: 3.2.27 die Chapter 3
Functions
Next: 3.2.29 dump
 

3.2.28 do

do 

BLOCK

 do 

SUBROUTINE

(

LIST

) do 

EXPR

The do BLOCK form executes the sequence of commands in the BLOCK , and returns the value of the last expression evaluated in the block. When modified by a loop modifier, Perl executes the BLOCK once before testing the loop condition. (On other statements the loop modifiers test the conditional first.)

The do SUBROUTINE ( LIST ) is a deprecated form of a subroutine call. See "Subroutines" in Chapter 2 .

The do EXPR form uses the value of EXPR as a filename and executes the contents of the file as a Perl script. Its primary use is (or rather was) to include subroutines from a Perl subroutine library, so that:

do 'stat.pl';

is rather like:

eval `cat stat.pl`;

except that it's more efficient, more concise, keeps track of the current filename for error messages, and searches all the directories listed in the @INC array. (See the section on "Special Variables" in Chapter 2 .) It's the same, however, in that it does reparse the file every time you call it, so you probably don't want to do this inside a loop.

Note that inclusion of library modules is better done with the use and require operators, which also do error checking and raise an exception if there's a problem.


Previous: 3.2.27 die Programming Perl Next: 3.2.29 dump
3.2.27 die Book Index 3.2.29 dump