Use the logical-or and defined-or operators to provide default subroutine variable behaviour
Perl subroutines do not have signatures so variables must be initialized and arguments assigned to them inside the subroutine code. This article describes two useful shortcuts that can simplify this process.
Modern Perl mecca: modernperlbooks.com
Although not precisely defined, Modern Perl programming refers to the use of best practice coding syntax, environment configuration tools, new Perl modules and the general joie de vivre associated with Perl since version 5.10.2. During this time the Perl language and available modules went through an upgrade of several tons of awesome, which resulted in a more concise, idiomatic syntax, and powerful new tools including web frameworks, ORMs and configuration managers.