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

Accessing Identifiers from Other Packages as Aliases

This section provides a tutorial example on how to access identifiers from another package as aliases, *identifier = *package::identifier.

As we learned earlier, to access variables from other packages is to use their fully qualified names in the format of packageName::variableName. But this format is too long, and not easy to use, see the following program:

#- CalendarTest.pl
#- Copyright (c) 1995 by Dr. Herong Yang, http://www.herongyang.com/
#
   require CalendarModule;
   print("Date: $CalendarModule::smon");
   print(" $CalendarModule::smday");
   print(" $CalendarModule::syear\n");
   print("Leap year? ",&CalendarModule::isLeapYear(), "\n");
   exit;

To make this easier, variables from other packages can be introduced into the current package as aliases. Here is how I improved the previous program:

#- CalendarAliasTest.pl
#- Copyright (c) 1999 by Dr. Herong Yang, http://www.herongyang.com/
#
   require CalendarModule;
   *smon = *CalendarModule::smon;
   *smday = *CalendarModule::smday;
   *syear = *CalendarModule::syear;
   *isLeapYear = *CalendarModule::isLeapYear;
   print("Date: $smon");
   print(" $smday");
   print(" $syear\n");
   print("Leap year? ",&isLeapYear(), "\n");
   exit;

Sections in This Chapter

Typeglob, Symbolic Table and Identifier Aliases

Accessing Identifiers from Other Packages as Aliases

Exporting and Importing Package Identifiers

Dr. Herong Yang, updated in 2008
Accessing Identifiers from Other Packages as Aliases