PERL/C3/Access-Modifiers-in-PERL/Malayalam
From Script | Spoken-Tutorial
|
|
00:01 | Access Modifiers in PERL എന്ന വിഷയത്തിലുള്ള Spoken Tutorial ലേക്കു സ്വാഗതം |
00:07 | ഈ ട്യൂട്ടോറിയലില് നമ്മള് പഠിക്കാന് പോകുന്നത്:
വേരിയബിള്സി ന്റെ പ്രാധാന്യം, Private വേരിയബിള്സ്, 'Dynamically scoped വേരിയബിള്സ്, Global വേരിയബിള്സ്. |
00:19 | ഈ ട്യൂട്ടോറിയലിനു വേണ്ടി ,ഞാന് ഉപയോഗിക്കുന്നത്:
Ubuntu Linux 12.04 ഓപറേറ്റിങ്ങ് സിസ്റ്റവും, Perl 5.14.2, കൂടാതെ gedit ടെക്സ്റ്റ് എഡിറ്ററും ആണ് |
00:32 | നിങ്ങള്ക്കിഷ്ടപ്പെട്ട ഏതു ടെക്സ്റ്റ് എഡിറ്റര് വേണമെങ്കിലും ഉപയോഗിക്കാം |
00:36 | നിങ്ങള്ക്കു Perl പ്രോഗ്രാമ്മിങ്ങില് അടിസ്ഥാന വിവരം ഉണ്ടായിരിക്കേണ്ടതാണ്. |
00:40 | അതില്ലെങ്കില് Perl നെ കുറിച്ചുള്ള ഉചിതമായ സ്പോക്കണ് ട്യൂട്ടോറിയല് കാണുവാന് spoken tutorial വെബ്സൈറ്റ് സന്ദര്ശിക്കുക. |
00:47 | നമ്മുക്ക് വേരിയബിള്സിന്റെ പ്രാധാന്യത്തെ ക്കുറിച്ചുള്ള ആമുഖത്തിലേക്കു കടക്കാം. |
00:51 | ഒരു കോഡിനകത്ത് ഏതു പരിധിവരെയാണു ഒരു വേരിയബിള്നു വിവിധ മൂല്യങ്ങള് സ്വീകരിക്കാന് കഴിയുന്നത്, ആ പരിധിയെയാണു ആ വേരിയബിള് ന്റെ scope എന്നു പറയുന്നത്. |
00:58 | മറ്റൊരു രീതിയില് പറയുകയാണെങ്കില് ഇത് വേരിയബിളിന്റെ ദ്രിശ്യപരതയെ സൂചിപ്പിക്കുന്നു |
01:03 | ആദ്യമായി നമുക്ക് Perl. ലെ my, local കൂടാതെ our മോഡിഫയറുകളെക്കുറിച്ചു പഠിക്കാം. |
01:10 | my എന്നാല് Private variables എന്നാകുന്നു. |
01:13 | local എന്നാല് Dynamically scoped variables എന്നാകുന്നു. |
01:17 | our എന്നാല് Global variables എന്നാകുന്നു. |
01:20 | my എന്ന പദം കൊണ്ട് വാഖ്യാനിക്കപ്പെട്ടിട്ടുള്ള വേരിയബളുകള്ക്ക് ആ blockനു പുറത്ത് സാധുത ഉണ്ടായിരിക്കുന്നതല്ല. |
01:28 | പ്രത്യേകിച്ച് ഒരു മൂല്യവും നല്കാതെ തന്നെ ഒരു വേരിയബളിനെ ഈ വിധത്തില് പ്രഖ്യാപിക്കാന് കഴിയും : my $fvalue semicolon |
01:37 | ഒരു പ്രത്യേക വില നല്കിയും വേരിയബളിനെ പ്രഖ്യാപിക്കാന് കഴിയും. |
01:43 | my $fValue = 1 semicolon |
01:48 | 'my $fname = ഇരട്ട ഉദ്ധരണികളില് Rahul semicolon |
01:55 | ഒരേ my പ്രസ്താവന യില് വരുന്ന വിവിധ വേരിയബിളുകള് പ്രഖ്യാപിക്കാനുള്ള സിന്റ്റാക്സ് താഴെ പറയുന്ന വിധത്തില് ആണ്. |
02:02 | my തുറന്ന ബ്രാക്കറ്റ് $fname കോമ $lname കോമ $age ബ്രാക്കറ്റ് ക്ലോസ് ചെയ്യുക അര്ദ്ധവിരാമം. |
02:12 | നമ്മുക്ക് ഇനി ഒരു സാമ്പിള് പ്രോഗ്രാം ഉപയോഗിച്ച് private വേരിയബിളുകളെ കുറിച്ചു മനസ്സിലാക്കാം |
02:17 | എന്റെ കയ്യില് ഇതിനകം തന്നെ ഒരു സാമ്പിള് പ്രോഗ്രാം ഉണ്ട്. ഞാന് അതിനെ 'gedit' Text editor ഉപയോഗിച്ചു തുറക്കാന് പോകുന്നു. |
02:24 | terminal തുറക്കുക , എന്നിട്ടു gedit scope hyphen my dot pl ampersand എന്നു ടൈപ്പ് ചെയ്യുക, അതിനു ശേഷം Enter അമര്ത്തുക. |
02:34 | Scope-my dot pl എന്ന ഫയല് ഇപ്പോള് gedit. ഇല് തുറന്നിരിക്കുന്നു |
02:39 | സ്ക്രീനില് കാണിച്ചിരിക്കുന്ന കോഡ് അതേ പോലെ ടൈപ്പ് ചെയ്യുക. ആ കോഡ് ഞാനിപ്പോള് വിശദീകരിക്കാം. |
02:46 | ഇവിടെ ഞാന് 'my' കീവേഡ് ഉപയോഗിച്ചുകൊണ്ട് $fname എന്ന private വേരിയബിള് പ്രഖ്യാപിച്ചിരിക്കുന്നു. |
02:52 | കൂടാതെ, അതിനു "Raghu" എന്ന മൂല്യം നല്കിയിരിക്കുന്നു. |
02:56 | ഈ ബ്ലോക്കിനകത്ത്, print എന്ന പ്രസ്താവന fname എന്ന വേരിയബിളിനകത്തുള്ള മൂല്യത്തെ പ്രിന്റ് ചെയ്യുന്നു. അതാണ് "Raghu". |
03:04 | അടുത്ത ബ്ലോക്കില് ,ഞാന് അതേ $fname. എന്ന private വേരിയബിളിനു "Other" എന്ന മൂല്യം നല്കിയിരിക്കുന്നു. |
03:11 | അതുകൊണ്ട്, ഈ നിശ്ചിത ബ്ലോക്കിലുള്ള print statement എന്ന പ്രസ്താവന "Other" എന്നു പ്രിന്റ് ചെയ്യും. |
03:17 | ഈ പ്രോഗ്രാമിലുള്ള അവസാനത്തെ print statement എന്ന പ്രസ്താവന ഒരു ഔട്ട്പുട്ടും തരുന്നതല്ല. |
03:23 | ഇതിനു കാരണം , നേരത്തെ നിര്വചിച്ചിട്ടുള്ള ബ്ലോക്കുകളുടെ പരിധിക്കുപ്പുറത്തു fname നു മൂല്യമൊന്നും നല്കിയിട്ടില്ല. |
03:32 | ഇനി, ഫയല് സേവ് ചെയ്യാനായി Ctrl+S അമര്ത്തുക. |
03:37 | നമ്മുക്കിപ്പോള് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം. |
03:40 | terminal ലേക്കു തിരിച്ചുപോയി, perl scope hyphen my dot pl എന്നു ടൈപ്പ് ചെയ്യുക, എന്നിട്ടു Enter അമര്ത്തുക. |
03:49 | ഔട്ട്പുട്ട് പ്രദര്ശിപ്പിച്ചിരിക്കുന്നു:
"Block 1: Raghu" "Block 2: Other" "Outside Block: " ഔട്ട്പുട്ട് ഇല്ല. |
03:59 | അതായത്, 'my' variable എന്ന വേരിയബിളിന്റെ പ്രാധാന്യം ഒരു കോഡിന്റെ നിശ്ചിത ബ്ലോക്കിനകത്തു മാത്രം നിര്ണയിക്കപ്പെട്ടിരിക്കുന്നു. |
04:06 | ഇനി, നമ്മുക്ക് നിലവിലുള്ള പ്രോഗ്രാം അല്പം മാറ്റി നോക്കാം. |
04:10 | ഇനി നമ്മുക്ക് ബ്ലോക്കിനു പുറത്ത് അവസാനത്തെ print പ്രസ്താവനക്കു മുന് പായി my $fname = within double quotes John semicolon എന്നു ചേര്ക്കാം. വരുത്തിയ മാറ്റങ്ങള് സേവ് ചെയ്യുക |
04:23 | terminal ലേക്കു തിരിച്ചുപോയി മുമ്പത്തേതു പോലെ എക്സിക്യൂട്ട് ചെയ്യുക. |
04:28 | പ്രദര്ശിപ്പിച്ചിരിക്കുന്ന ഔട്ട്പുട്ടിനെ വിശകലനം ചെയ്യുക. |
04:32 | ഇപ്പോള് നിങ്ങള്ക്കു 'my' വേരിയബിളിന്റെ ഉപയോഗപരിധി ബ്ലോക്കിനു അകത്തും പുറത്തും എങ്ങനെയാണെന്ന് മനസ്സിലായി എന്നു പ്രതീക്ഷിക്കുന്നു. |
04:41 | അടുത്തതായി നമ്മള് കാണാന് പോകുന്നത് Perl ലെ dynamically scoped variable |
04:47 | Local കീവേഡ് ഒരുglobal വേരിയബിളിനു ഒരു താത്കാലികപരിധി നല്കുന്നു. |
04:52 | യതാര്ത്ഥ ബ്ലോക്കില് നിന്നും വിളിക്കുന്ന ഏതൊരു function ഉം ഈ വേരിയബിള് ദ്രിശ്യമായിരിക്കും |
04:58 | നിങ്ങള്ക്കു ഒരു local വേരിയബിളിനെ ഇങ്ങനെയും പ്രഖ്യാപിക്കാം:
local $fValue = 100 semicolon local $fname = within double quotes "Rakesh" semicolon |
05:13 | ഒരു മാത്രുക പ്രോഗ്രാം ഉപയോഗിച്ചുകൊണ്ട് നമ്മുക്കിതു മനസിലാക്കാം . |
05:17 | terminal തുറക്കുക എന്നിട്ട് gedit scope hyphen local dot pl ampersand എന്നു ടൈപ്പ് ചെയ്യുക. അതിനു ശേഷം Enter അമര്ത്തുക. |
05:27 | ഇത് geditല് scope hyphen local dot pl എന്ന ഫയല് തുറക്കും . |
05:33 | സ്ക്രീനില് കാണിച്ചിരിക്കുന്ന കോഡ് അതേ പോലെ ടൈപ്പ് ചെയ്യുക. ആ കോഡ് ഞാനിപ്പോള് വിശദീകരിക്കാം. |
05:40 | ഇവിടെ, ആദ്യ വരിയില് , നമ്മള് $fname എന്ന ഒരു വേരിയബിള് പ്രഖ്യാപിക്കുകയും ആരംഭിക്കുകയും ചെയ്തിരിക്കുന്നു. |
05:47 | Welcome() എന്ന ഫങ്ക്ഷനകത്തു നമ്മള് $fname എന്ന അതേ പേരുള്ള ഒരു local വേരിയബിള് പ്രഖ്യാപിച്ചിരിക്കുന്നു. |
05:54 | വേരിയബിളിന്റെ പേരിനു മുന്നിലുള്ള local എന്ന കീവേഡ് ശ്രദ്ധിക്കുക. |
05:59 | കൂടാതെ ഈ വേരിയബിളിനു നമ്മള് "Rakesh" എന്ന മൂല്യം നല്കിയിരിക്കുന്നു. |
06:03 | അതുകൊണ്ട് അടിസ്താനപരമായി, Welcome()എന്ന ഫങ്ക്ഷനകത്തു $fname ഒരു തത്കാലിക local വേരിയബിള് ആയി മാറിയിരിക്കുന്നു. അതിനുശേഷം എന്ന Hello() ഫങ്ക്ഷനെ call ചെയ്തിരിക്കുന്നു. |
06:15 | Hello() എന്ന ഫങ്ക്ഷന്റെ നിര്വചനം ഇങ്ങനെയാകുന്നു. |
06:18 | പ്രോഗ്രാമിന്റെ അവസാനത്തില് നമ്മള് Welcome() കൂടാതെ Hello() എന്നീ രണ്ടു ഫങ്ക്ഷനുകളെയും വിളിച്ചിരിക്കുന്നു. |
06:25 | ഇനി, ഫയല് സേവ് ചെയ്യാനായി Ctrl+S അമര്ത്തുക. |
06:29 | നമ്മുക്കിനി പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യാം. |
06:31 | terminal ലേക്കു തിരിച്ചുപോയി, perl scope hyphen local.pl എന്നു ടൈപ്പ് ചെയ്യുക, എന്നിട്ടു Enter അമര്ത്തുക. |
06:41 | ഔട്ട്പുട്ട് പ്രദര്ശിപ്പിച്ചിരിക്കുന്നു:
"Hello, Rakesh"! "Hello, Welcome to Spoken tutorials!" |
06:48 | നമ്മുക്കിനി ഔട്ട്പുട്ടിനെ വിശകലനം ചെയ്യാം |
06:51 | local വേരിയബിളിനു മൂല്യം നല്കനായി Welcome() എന്ന ഫങ്ക്ഷന് വിളിക്കുമ്പോള് , Hello() എന്ന ഫങ്ക്ഷന് അതിനകത്തുണ്ട് |
06:59 | Welcome()എന്ന ഫങ്ക്ഷനകത്തു $fname ന്റെ മൂല്യം "Rakesh" എന്നാകുന്നു. |
07:04 | ഇതിനു ശേഷം , Hello() എന്ന ഫങ്ക്ഷന് $fname എന്ന വേരിയബിളിനു ഒരിക്കല്ക്കൂടി മൂല്യനിര് ണയം നടത്തുന്നു. |
07:11 | പക്ഷെ ഇത്തവണ, $fname എന്ന വേരിയബിള് ആരം ഭിച്ചിരിക്കുന്നത് "Welcome to spoken tutorials" എന്നാകുന്നു. |
07:19 | ഇതിനു Welcome() എന്ന ഫങ്ക്ഷ്നകത്തെ $fname എന്ന ലോക്കല് വേരിയബിളിനു മൂല്യനിര് ണയം നടത്താന് കഴിയുന്നില്ല. |
07:25 | അതിനര് ത്ഥം , Welcome()എന്ന ബ്ലോക്കിനു പുറത്തും ലോക്കല് വേരിയബിള് അതിന്റെ scope നിലനിര്ത്തുന്നു. |
07:32 | ഇനി നമ്മുക്ക് Perlലെ global വേരിയബിളുകളെക്കുറിച്ചു നോക്കാം. |
07:38 | ഒരു global variable നെ പ്രോഗ്രാമ്മിന്റെ എവിടെ വച്ചു വേണമെങ്കിലും മൂല്യനിര് ണയം നടത്താന് കഴിയും. |
07:43 | Global variables കളെ 'our' കീവേഡ് ഉപയോഗിച്ചു കൊണ്ട് പ്രഖ്യാപിച്ചിരിക്കുന്നു. |
07:47 | ഇതാ ചില ഉദാഹരണങ്ങള്:
our $fvalue = 100 semicolon </nowiki> our $fname =within double quotes Priya semicolon |
08:01 | ഇനി, നമ്മുക്കു global വേരിയബിളുകളുടെ പ്രവര്ത്തനോദാഹരണങ്ങളെ ക്കുറിച്ചു നോക്കാം. |
08:06 | terminal ലേക്കു തിരിച്ചുപോയി, gedit scope hyphen our dot pl ampersand എന്നു ടൈപ്പ് ചെയ്യുക, എന്നിട്ടു Enter അമര്ത്തുക. |
08:16 | ഇതുgedit ല് scope hyphen our.pl എന്ന ഫയല് തുറക്കും. |
08:22 | ഇനി ഞാനെഴുതിയ ഒരു മാത്രുക പ്രോഗ്രാം വിശദീകരിക്കാം. |
08:27 | 100 എന്ന ആരംഭമൂല്യത്തോടുക്കൂടി our $i എന്ന ഗ്ലോബല് വേരിയബിളും package main ഉം പ്രഖ്യാപിച്ചിരിക്കുന്നു.. |
08:37 | package First എന്ന പ്രഖ്യാപനം ശ്രദ്ധിക്കുക. |
08:40 | അതിന്റേതായ namespaceഓടുക്കൂടിയ കോഡിന്റെ ശേഖരത്തെ ഒരു package എന്നു പറയുന്നു. |
08:46 | packagesകള് ക്കിടയിലുള്ള variable name collisions നെ Namespace തടയുന്നു. |
08:51 | package നെയും namespace നെയും കുറിച്ച് ഭാവി ട്യൂട്ടോറിയലുകളില് നമ്മുക്കു കൂടുതല് പഠിക്കാം. |
08:56 | package First, ഇല് ഗ്ലോബല് വേരിയബിള് "i" ക്കു കൊടുത്തിരിക്കുന്ന മൂല്യം 10 ആകുന്നു. |
09:02 | package Second, ഇല് ഗ്ലോബല് വേരിയബിള് "i" ക്കു കൊടുത്തിരിക്കുന്ന മൂല്യം 20 ആകുന്നു. |
09:08 | package First variable ഉം കൂടാതെ package Second variableഉം main package ഉപയോഗിക്കുന്നു. |
09:15 | എന്റെ പ്രോഗ്രാമില്,എല്ലാ packagesലും "i" എന്ന അതേ വേരിയബിള് പ്രഖ്യാപിച്ചിരിക്കുന്നു. |
09:21 | package variable പരാമര്ശിക്കുന്നത് package name colon colon variable name എന്ന രീതിയിലാണ്. |
09:29 | നമ്മുടെ ഉദാഹരണത്തില്, ഇത് $First colon colon i, $Second colon colon i എന്നാണ്. |
09:39 | നമ്മുക്ക് ഒരു ഫയലില് ഒന്നില്ക്കൂടുതല് packages ഉണ്ട്, കൂടാതെ ഗ്ലോബല് വേരിയബിളിനു എല്ലാ packagesകളിലും പ്രവേശനം അനുവദിച്ചിരിക്കുന്നു. |
09:47 | ഇനി ഫയല് സേവ് ചെയ്തു പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യുക. |
09:51 | terminal ലേക്കു തിരിച്ചുപോയി, perl scope hyphen our dot pl എന്നു ടൈപ്പ് ചെയ്യുക, എന്നിട്ടു Enter അമര്ത്തുക. |
09:59 | terminalഇല് ഔട്ട്പുട്ട് പ്രദര്ശിപ്പിച്ചിരിക്കുന്നു |
10:03 | ഔട്ട്പുട്ട് വിശകലനം ചെയ്തു നോക്കിയാല് variable i ക്കു മൂല്യധാനം നടത്തിയിരിക്കുന്നത് എങ്ങനെയെന്നു നിങ്ങള് ക്കു തന്നെ മനസ്സിലാക്കാന് കഴിയും. |
10:11 | ഇതോടുകൂടി ഈ ട്യൂട്ടോറിയല് അവസാനിക്കുന്നു. നമ്മുക്ക് ഉപസംഹരിക്കാം. |
10:16 | ഈ ട്യൂട്ടോറിയലില് നമ്മള് പഠിച്ച കാര്യങ്ങള് വേരിയബളുകളുടെ പ്രാധാന്യം , private variablesകളുടെ പ്രഖ്യാപനം , global variables അവയുടെ ഉദാഹരണങ്ങള് ഇവയാണ്. |
10:29 | കമ്പൈലേഷന് വേഗത്തില് നടക്കുന്നതിനാല് localഎന്നതിനേക്കാള് 'my' ഉപയോഗിക്കുന്നതാണ് ഉചിതം |
10:35 | ഇവിടെ നിങ്ങള്ക്കുള്ള അസൈന്മെന്റ് ഇതാണ് |
10:37 | താഴെയുള്ള അസൈന്മെന്റിനു കോഡെഴുതി എക്സിക്യൂട്ട് ചെയ്യുക |
10:42 | ഒരു package നെ ആയി FirstModuleപ്രഖ്യാപിക്കുക |
10:46 | $age എന്ന ഒരു വേരിയബളിനെ our ആയി പ്രഖ്യാപിക്കുകകയും അതിനു 42 എന്ന വില നല്കുകയും ചെയ്യുക |
10:52 | വേറോരു പാക്കേജിനെ SecondModule ആയി പ്രഖ്യാപിക്കുക |
10:56 | $ageword എന്ന ഒരു വേരിയബളിനെ our ആയി പ്രഖ്യാപിക്കുകകയും അതിനു ഇരട്ട ഉദ്ദരണികളില് "Forty-Two" എന്ന വില നല്കുകയും ചെയ്യുക |
11:05 | First()എന്ന ഒരു സബ്റൂട്ടീന് പ്രഖ്യാപിക്കുക |
11:08 | ആ സബ്റൂട്ടീനിനകത്ത് local, my എന്നീ കീവേഡുകള് ഉപയോഗിച്ച് രണ്ടു വേരിയബളുകളെ പ്രഖ്യാപിക്കുക |
11:16 | local $age = 52 അര്ദ്ധവിരാമം |
11:20 | my $ageword സമം ഇരട്ട ഉദ്ദരണികളില് Fifty-two semicolon |
11:27 | Result()എന്ന പേരില് വേറൊരു സബ്റൂട്ടീന് വിളിക്കുക |
11:31 | $age ന്റെയും $ageword ന്റെയും വിലകള് ഫങ്ക്ഷനകത്ത് പ്രിന്റ് ചെയ്യുക |
11:37 | സബ്റൂട്ടീന് അവസാനിപ്പിക്കുക |
11:39 | Result()'എന്ന സബ്റൂട്ടീന് പ്രഖ്യാപിക്കുക |
11:42 | $age ന്റെയും $ageword ന്റെയും വിലകള് വീണ്ടും പ്രിന്റ് ചെയ്യുക |
11:47 | സബ്റൂട്ടീന് അവസാനിപ്പിക്കുക |
11:49 | First() എന്ന ഫങ്ക്ഷന് വിളിക്കുക |
11:51 | Package First, Package Second എന്നിവ താഴെ കാണുന്ന രീതിയില് പ്രിന്റ് ചെയ്യുക |
11:57 | താഴെ കാണുന്ന ലിങ്കിലുള്ള വീഡിയോ ഈ Spoken Tutorial പ്രൊജെക്റ്റ് വിശദീകരിക്കുന്നു. നിങ്ങള്ക്കത് ഡൌണ്ലോഡ് ചെയ്ത് കാണാവുന്നതാണ് |
12:05 | ഈ സ്പോക്കണ് ട്യൂട്ടോറിയല് പ്രോജെക്റ്റ് ടീം സ്പോക്കണ് ട്യൂട്ടോറിയല് ഉപയോഗിച്ച് ശില്പശാലകള് നടത്തുന്നു, ഓണ്ലൈന് പരീക്ഷ പാസ്സാകുന്നവര്ക്ക് സര്ട്ടിഫിക്കേറ്റും നല്കുന്നുണ്ട്. കൂടുതല് വിവരങ്ങള്ക്ക് ഞങ്ങള്ക്ക് എഴുതുക |
12:18 | ഇത് ഇന്ത്യാ ഗവണ്മെന്റിന്റെ മാനവശേഷിവിഭവ വകുപ്പിന്റെ നാഷണല് മിഷന് ഓണ് എജ്യുക്കേഷന് ത്രൂ ഐ സി ടി സംരഭത്തിന്റെ പിന്തുണയോടെയാണു് നടത്തുന്നതു്. ഈ സംരഭത്തെക്കുറിച്ചുള്ള കൂടുതല് വിവരങ്ങള് ഈ ലിങ്കില് ലഭ്യമാണു് |
12:31 | ഇതില് പങ്കെടുത്ത എല്ലാവര്ക്കും നന്ദി പറഞ്ഞുകൊണ്ട് ഞാന് പ്രജൂന വത്സലൻ വിടവാങ്ങുന്നു. |