Perl Programming Question:

How do you give functions private variables that retain their values between calls?

Tweet Share WhatsApp

Answer:

Create a scope surrounding that sub that contains lexicals.
Only lexical variables are truly private, and they will persist even when their block exits if something still cares about them. Thus:
{ my $i = 0; sub next_i { $i++ } sub last_i { --$i } }
creates two functions that share a private variable. The $i variable will not be deallocated when its block goes away because next_i and last_i need to be able to access it.

Download Perl Programming PDF Read All 46 Perl Programming Questions
Previous QuestionNext Question
How many ways can we express string in Perl?Why do you use Perl?