<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=PERL%2FC3%2FAccess-Modifiers-in-PERL%2FEnglish</id>
		<title>PERL/C3/Access-Modifiers-in-PERL/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=PERL%2FC3%2FAccess-Modifiers-in-PERL%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;action=history"/>
		<updated>2026-05-14T08:12:19Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;diff=22264&amp;oldid=prev</id>
		<title>Nancyvarkey at 01:59, 30 May 2015</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;diff=22264&amp;oldid=prev"/>
				<updated>2015-05-30T01:59:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;amp;diff=22264&amp;amp;oldid=22063&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;diff=22063&amp;oldid=prev</id>
		<title>Nirmala Venkat: Created page with &quot;'''Title of script''':''' Access Modifiers in PERL'''  '''Author: Nirmala Venkat'''  '''Keywords: Scope of variables, Dynamically scoped variable, global variable, gedit, vide...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=PERL/C3/Access-Modifiers-in-PERL/English&amp;diff=22063&amp;oldid=prev"/>
				<updated>2015-05-19T11:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Title of script&amp;#039;&amp;#039;&amp;#039;:&amp;#039;&amp;#039;&amp;#039; Access Modifiers in PERL&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Author: Nirmala Venkat&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Keywords: Scope of variables, Dynamically scoped variable, global variable, gedit, vide...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Title of script''':''' Access Modifiers in PERL'''&lt;br /&gt;
&lt;br /&gt;
'''Author: Nirmala Venkat'''&lt;br /&gt;
&lt;br /&gt;
'''Keywords: Scope of variables, Dynamically scoped variable, global variable, gedit, video tutorial'''&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Visual Cue'''&amp;lt;/center&amp;gt;&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;center&amp;gt;'''Narration'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 1:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Welcome to the''' Spoken Tutorial''' on''' Access Modifiers in PERL'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 2:&lt;br /&gt;
&lt;br /&gt;
Learning objectives&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In this tutorial we will learn about&lt;br /&gt;
&lt;br /&gt;
* Scope of variables&lt;br /&gt;
* Private variables&lt;br /&gt;
* Dynamically scoped variables&lt;br /&gt;
* Global variables&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 3:&lt;br /&gt;
&lt;br /&gt;
System requirements&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| For this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
* '''Ubuntu Linux 12.04''' operating system&lt;br /&gt;
* '''Perl 5.14.2'''&lt;br /&gt;
* and the''' gedit''' Text Editor&lt;br /&gt;
&lt;br /&gt;
You can use any text editor of your choice.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 4:&lt;br /&gt;
&lt;br /&gt;
Prerequisites&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Prerequisites&lt;br /&gt;
&lt;br /&gt;
You should have basic knowledge of '''Perl''' Programming.&lt;br /&gt;
&lt;br /&gt;
If not, then go through the relevant '''Perl '''spoken tutorials on the '''spoken tutorial '''website.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 5:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us start with the introduction to the''' Scope of variables'''.&lt;br /&gt;
&lt;br /&gt;
The''' scope''' of a variable is the region of code within which a variable can be accessed.&lt;br /&gt;
&lt;br /&gt;
In other words, it refers to the visibility of variables.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 6:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| First, we will discuss about''' my, local''' and''' our''' modifiers in '''Perl.'''&lt;br /&gt;
&lt;br /&gt;
* '''my '''means '''Private variables'''&lt;br /&gt;
* '''local''' means '''Dynamically scoped variables'''&lt;br /&gt;
* '''our '''means '''Global variables'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 7:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Variables '''declared with''' my''' keyword will lose scope outside the '''block''' in which they are declared.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 8:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| You can declare a '''variable''' without giving it a value, like this:&lt;br /&gt;
&lt;br /&gt;
'''my''' $fvalue&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also declare a '''variable''' by assigning a value to it, as:&lt;br /&gt;
&lt;br /&gt;
'''my''' $fValue = 1;&lt;br /&gt;
&lt;br /&gt;
'''my''' $fname = &amp;quot;Rahul&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
The syntax to declare several '''variables '''with the same''' my''' statement is as follows: &lt;br /&gt;
&lt;br /&gt;
'''my''' ($fname, $lname, $age);&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us understand '''private variables''' using a sample program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to the file in''' gedit'''.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| I already have a sample program.&lt;br /&gt;
&lt;br /&gt;
Let me open it in '''gedit Text editor'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to the Terminal and type&lt;br /&gt;
&lt;br /&gt;
'''gedit scope-my.pl &amp;amp;'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''terminal '''and type''' gedit scope-my dot pl ampersand '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Point the cursor&lt;br /&gt;
&lt;br /&gt;
'''scope-my.pl'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Scope-my dot pl''' file is now open in''' gedit.'''&lt;br /&gt;
&lt;br /&gt;
Type the following code as displayed on the screen.&lt;br /&gt;
&lt;br /&gt;
Let me explain the code now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight in gedit&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Here, I have declared a '''private variable $fname''' with''' my''' keyword.&lt;br /&gt;
&lt;br /&gt;
And assigned the value “'''Raghu'''” to it.&lt;br /&gt;
&lt;br /&gt;
Within this block, the '''print''' '''statement''' prints the value in the '''fname variable''', i.e. “'''Raghu'''”.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In the next block, I have assigned the value “'''Other'''” to the same '''private variable $fname.'''&lt;br /&gt;
&lt;br /&gt;
So, the '''print statement '''will print “'''Other'''” within this particular block.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The last '''print statement '''in this program, will not print any output. &lt;br /&gt;
&lt;br /&gt;
This is because outside the scope of the blocks defined earlier, '''fname '''has no value assigned to it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Press''' Ctrl+S'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, press''' Ctrl+S''' to save the file.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us now execute the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to terminal&lt;br /&gt;
&lt;br /&gt;
'''perl scope-my dot pl'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch back to the '''terminal '''and type&lt;br /&gt;
&lt;br /&gt;
'''perl scope-my dot pl '''and press Enter&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Output'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The output is displayed as&lt;br /&gt;
&lt;br /&gt;
'''Block 1: Raghu'''&lt;br /&gt;
&lt;br /&gt;
'''Block 2: Other'''&lt;br /&gt;
&lt;br /&gt;
'''Outside Block: '''( There is no output)&lt;br /&gt;
&lt;br /&gt;
So, the scope of the '''my''' '''variable '''is accessed only within a particular block of code.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight in gedit&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now let us change the existing program a little.&lt;br /&gt;
&lt;br /&gt;
Let us add''' my $fname&amp;lt;nowiki&amp;gt;= &amp;quot;&amp;lt;/nowiki&amp;gt;John&amp;quot;;''' outside the blocks, before the last '''print statement'''.&lt;br /&gt;
&lt;br /&gt;
Save the changes.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| On the terminal&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch back to the '''terminal '''and execute as before.&lt;br /&gt;
&lt;br /&gt;
Analyse the output that is displayed.&lt;br /&gt;
&lt;br /&gt;
Hope you are able to understand the scope of using''' my''' '''variable '''within a block and outside a block.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt;PAUSE&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;&amp;quot;| Next we will see about '''dynamically scoped variable''' in '''Perl'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 9:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Local''' '''keyword''' gives a temporary scope to a '''global''' '''variable'''.&lt;br /&gt;
&lt;br /&gt;
The '''variable''' is visible to any '''function''' called from the original block.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 9:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| You can declare a '''local variable '''as,&lt;br /&gt;
&lt;br /&gt;
'''local''' $fValue = 100;&lt;br /&gt;
&lt;br /&gt;
'''local''' $fname = &amp;quot;Rakesh&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us understand this using a sample program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to the terminal &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Open the '''terminal''' and type''' '''&lt;br /&gt;
&lt;br /&gt;
'''gedit scope-local dot pl''' '''ampersand''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Point the cursor&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This will open''' scope-local dot pl''' file in''' gedit'''.&lt;br /&gt;
&lt;br /&gt;
Type the following code as displayed on the screen.&lt;br /&gt;
&lt;br /&gt;
Let me explain the code now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight in gedit&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Here, in the first line we have declared a '''variable $fname '''and initialised it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Inside the '''function Welcome, '''we have declared a '''local variable '''by the same name,''' $fname.'''&lt;br /&gt;
&lt;br /&gt;
Notice the '''local''' '''keyword''' before the '''variable '''name.&lt;br /&gt;
&lt;br /&gt;
And we have assigned the value “'''Rakesh'''” to this '''variable.'''&lt;br /&gt;
&lt;br /&gt;
So, basically, inside function '''Welcome(), $fname''' is modified as a new temporary '''local''' '''variable.'''&lt;br /&gt;
&lt;br /&gt;
Then, the '''function Hello '''is being '''called'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Here is the '''function definition '''of '''Hello.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| At the end of the program, we are calling both the '''functions Welcome '''and '''Hello'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now press''' Ctrl + S''' to save the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us execute the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to terminal&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch back to the '''terminal''' and type,&lt;br /&gt;
&lt;br /&gt;
'''perl scope-local.pl''' and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight&lt;br /&gt;
&lt;br /&gt;
'''Output'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The output is displayed as&lt;br /&gt;
&lt;br /&gt;
'''Hello, Rakesh !'''&lt;br /&gt;
&lt;br /&gt;
'''Hello, Welcome to Spoken tutorials!'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Let us understand the output.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to program&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| When the function '''Welcome()''' is called, the '''function''' '''Hello()''' within it, accesses the '''local variable'''.&lt;br /&gt;
&lt;br /&gt;
Within '''Welcome(), $fname''' has the value “'''Rakesh'''”.&lt;br /&gt;
&lt;br /&gt;
After this, the '''function''' '''Hello() '''accesses the '''variable $fname '''once again'''.'''&lt;br /&gt;
&lt;br /&gt;
But this time, it is the '''variable $fname '''which was initialized to''' “Welcome to spoken tutorials”.'''&lt;br /&gt;
&lt;br /&gt;
It does not access the '''local variable $fname '''within the function '''Welcome().'''&lt;br /&gt;
&lt;br /&gt;
Which means that, the '''local variable '''restores the '''scope''', after leaving the block '''Welcome()'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''&amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt;PAUSE&amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;&amp;quot;| Next we will see about '''global variables''' in '''Perl'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 10:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| A '''global variable '''can be accessed anywhere in the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 10:&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Global variables '''are declared with''' our''' '''keyword'''.&lt;br /&gt;
&lt;br /&gt;
Here are some examples.&lt;br /&gt;
&lt;br /&gt;
'''our''' $fvalue&amp;lt;nowiki&amp;gt;=100;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''our''' $fname =”Priya”;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now let us look at a working example of '''global variables'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to the Terminal &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch back to the '''terminal '''and type&lt;br /&gt;
&lt;br /&gt;
'''gedit scope-our dot pl ampersand and '''press''' Enter'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Point to the file name &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This will open the file''' scope-our.pl''' in '''gedit'''.&lt;br /&gt;
&lt;br /&gt;
Let me explain the sample program which I have written.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Highlight in gedit &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| I have declared '''package main '''and''' '''a '''global variable''' as''' our $i '''and I have initialised it to '''100;'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Notice the''' package First''' declaration.&lt;br /&gt;
&lt;br /&gt;
A '''package''' is a collection of code, which has its own '''namespace'''.&lt;br /&gt;
&lt;br /&gt;
'''Namespace''' prevents '''variable name collisions''' between '''packages'''.&lt;br /&gt;
&lt;br /&gt;
We will see more about '''package''' and '''namespace''' in future tutorials.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Within '''package First,''' the '''global variable''' “'''i'''” holds the value 10.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| In '''package Second,''' the '''global variable “i” '''is assigned the value 20.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The main '''package '''uses both '''package First variable '''and the '''package Second variable'''.&lt;br /&gt;
&lt;br /&gt;
In my program, I have declared the same variable “'''i'''” in all the '''packages'''.&lt;br /&gt;
&lt;br /&gt;
The '''package variable''' is referred by''' '''&lt;br /&gt;
&lt;br /&gt;
'''package name::variable name'''&lt;br /&gt;
&lt;br /&gt;
In our example it is''' $First::i , $Second::i'''&lt;br /&gt;
&lt;br /&gt;
We have multiple '''packages '''within one file, and the '''global variable '''will be accessed by all the '''packages'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Now, save the file and execute the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Switch to the Terminal &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| So, switch to '''terminal '''and type-&lt;br /&gt;
&lt;br /&gt;
'''perl scope-our dot pl'''&lt;br /&gt;
&lt;br /&gt;
and press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
The output is as displayed on the '''terminal'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;Pause&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Analyze the output by yourself to understand how the assignment to the '''variable i '''was done.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;&amp;lt;/nowiki&amp;gt;PAUSE&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 11:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This brings us to the end of this tutorial. Let us summarise.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, we learnt:&lt;br /&gt;
&lt;br /&gt;
* scope of variables&lt;br /&gt;
* declaration of private variables&lt;br /&gt;
* dynamically scoped variables and&lt;br /&gt;
* global variables with examples.&amp;lt;br/&amp;gt; &lt;br /&gt;
&lt;br /&gt;
It is preferred to use''' my''' than''' local''' as the compilation is faster.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 12:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| '''Assignment'''&lt;br /&gt;
&lt;br /&gt;
Here is an assignment for you.&lt;br /&gt;
&lt;br /&gt;
Write the code for the following assignment and execute it.&lt;br /&gt;
&lt;br /&gt;
# Declare a package as '''FirstModule'''&lt;br /&gt;
# Declare a variable '''$age''' as '''our''' and assign the value '''42'''&lt;br /&gt;
# Declare another package as '''SecondModule'''&lt;br /&gt;
# Declare a variable '''$ageword''' as '''our''' and assign the value '''“Forty-Two”'''&lt;br /&gt;
# Declare''' '''a subroutine''' First()'''&lt;br /&gt;
# Inside the subroutine declare two variables with '''local''' and '''my''' keyword as below:&lt;br /&gt;
#:'''local''' '''$age&amp;lt;nowiki&amp;gt;=52&amp;lt;/nowiki&amp;gt;'''&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:'''my''' '''$ageword&amp;lt;nowiki&amp;gt;=&amp;quot;&amp;lt;/nowiki&amp;gt;Fifty-two&amp;quot;;'''&lt;br /&gt;
# Call another subroutine as '''Result()'''&lt;br /&gt;
# Print the values of '''$age''' and '''$ageword''' inside this function.&lt;br /&gt;
# End the subroutine&lt;br /&gt;
# Declare the subroutine '''Result()'''&lt;br /&gt;
# Again print the values of '''$age''' and '''$ageword'''&lt;br /&gt;
# End the subroutine&lt;br /&gt;
# Call the function '''First()'''&lt;br /&gt;
# Print the Package First and package Second as below:&lt;br /&gt;
#:'''print &amp;quot;Package First : $FirstModule::age\n&amp;quot;;'''&lt;br /&gt;
#:'''print &amp;quot;Package Second : $SecondModule::ageword\n&amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 12:&lt;br /&gt;
&lt;br /&gt;
About the Spoken Tutorial Project&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The video at the following link summarises the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| Slide 13:&lt;br /&gt;
&lt;br /&gt;
About workshops&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| The Spoken Tutorial Project Team conducts workshops and gives certificates for those who pass an online test.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;|   &lt;br /&gt;
&lt;br /&gt;
Slide 14:&lt;br /&gt;
&lt;br /&gt;
Acknowledgment&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;|   &lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial project is funded by NMEICT, MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
More information on this mission is available at&lt;br /&gt;
&lt;br /&gt;
this link.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.097cm;&amp;quot;| This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>