Perl Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 5.00

require() Function - Including Script Files

This section provides a tutorial example showing you how to the require() function is better than the do() function - if the same file is included multiple time, the require() function will only execute it once.

As mentioned in the previous section, require() function can be used to include script code from another file into the current script file. To try this out, I wrote another include file, MyRequireLib.inc,

#- MyRequireLib.inc
#- Copyright (c) 1995 by Dr. Herong Yang, http://www.herongyang.com/
#
   $author = "Dr. Herong Yang";
   print("Printing from MyRequireLib.inc...\n");
sub myRequireSub {
   print("Printing from myRequireSub()...\n");
}
1;

Here is tutorial script that tests the difference between the do() function and the require() function:

#- IncRequireTest.pl
#- Copyright (c) 1995 by Dr. Herong Yang, http://www.herongyang.com/
#
   print("\nTesting require()...\n");
   require("MyRequireLib.inc");
   require("MyRequireLib.inc");
   print("Author = $author\n");
   &myRequireSub();

   print("\nTesting do()...\n");
   do("MyDoLib.inc");
   do("MyDoLib.inc");
   print("Author = $author\n");
   &myDoSub();
   exit;

The output matches my expectation. The second require() call didn't do any execution.

Testing require()...
Printing from MyRequireLib.inc...
Author = Dr. Herong Yang, http://www.herongyang.com/
Printing from myRequireSub()...

Testing do()...
Printing from MyDoLib.inc...
Printing from MyDoLib.inc...
Author = Herong Yang
Printing from myDoSub()...

Sections in This Chapter

Including Script Codes from Other Files

do() Function - Including Script Files

require() Function - Including Script Files

"package" Statement - Switching Name Space

BEGIN(), CHECK(), INIT() and END() Functions

Defining Your Own Perl Module

CalendarModule.pm - A Sample Perl Module

Dr. Herong Yang, updated in 2008
require() Function - Including Script Files