பெர்ள் (Perl) ஒரு கணினி நிரலாக்க மொழி. இது ஒரு மேல் நிலை, இயங்கியல், படிவ நிரலாக்க மொழி வகையைச் சார்ந்தது. இதன் முதல் பதிப்பு 1987-ம் ஆண்டு ஆக்கர் லாரி வோல் (Larry Wall) என்பவரால் வெளியிடப்பட்டது. 1988 இல் இரண்டாவது பதிப்பும் 1989 இல் மூன்றாவது பதிப்பும் வெளியானது, பெர்ள் 6 விரைவில் வெளி வர இருக்கிறது. உரை ஆவணங்களை பகுப்பாய்வு செய்ய உதவும் சுருங்குறித்தொடர்களை பெர்ள் தொடக்கத்திலியே மொழியின் ஒரு கூறாக ஏதுவாக்கியது. உரை ஆவணப் பகுப்பாய்வு, கணினி நிர்வாகம், வலைப்பின்னல் நிரலாக்கம், தரவுதள வலை செயலிகள் வடிவமைப்பு போன்ற பல தேவைகளுக்கு பெர்ள் பயன்படுகிறது. இது ஒரு கட்டற்ற மென்பொருளாகும். குனு கட்டற்ற ஆவண உரிமத்தின் கீழும் வெளியிடப்படுகிறது.
நிரலாக்கக் கருத்தோட்டம்: | Multi-paradigm |
---|---|
தோன்றிய ஆண்டு: | 1987 |
வடிவமைப்பாளர்: | Larry Wall |
அண்மை வெளியீட்டுப் பதிப்பு: | 5.30.0 |
அண்மை வெளியீட்டு நாள்: | மே 22 2019 |
இயல்பு முறை: | Dynamic |
பிறமொழித்தாக்கங்கள்: | AWK, பேசிக் (நிரல் மொழி), BASIC-PLUS, சி, சி++, லிஸ்ப், பாசுக்கல், sed, Unix shell |
இம்மொழித்தாக்கங்கள்: | பைத்தான், பிஎச்பி, ரூபி, ECMAScript, Dao, Windows PowerShell |
இயக்குதளம்: | Cross-platform |
அனுமதி: | குனூ பொதுமக்கள் உரிமம், Artistic License |
இணையதளம்: | http://www.perl.org/ |
மொழியின் பண்புகள்
இது சி, ஆக், செட், பேசிக் போன்ற பல நிரல் மொழிகளின் வசதிகளையும் தன்மைகளையும் உள்வாங்கி உருவாக்கப்பட்டது.[1] இருப்பினும் எழுத்துத்தொடர்களை(strings) எளிதில் கையாளும் வசதிகள் மற்றும் ஒத்த மொழிகளில் இருந்த சில கட்டுக்கள் இல்லாதிருத்தல் ஆகியவற்றால் இது பெரிதும் பயன்படுத்தப்படத் துவங்கியது.[2]
பின்னர், இதன் கட்டற்ற தன்மையும் எவர் வேண்டுமானாலும் பங்களிக்கலாம் என்ற உரிமமும்[3] அதற்கு வசதியான[4] பகுதிக்கூறு கட்டமைப்பும் (modular architecture) இதை ஒரு வளர்ந்த மேம்பட்ட நிரல் மொழியாக உருமாற்றியது. தற்போது ஏறத்தாழ அனைத்து பெரிய நிறுவனங்களிலும் ஏதேனும் ஒரு வடிவில் இது பயன்படுத்தப்படுகிறது.
இதன் உருவாக்குநர் மற்றும் துவக்க கால பங்களிப்போரின் சாய்வின் விளைவாக இது மனிதர்கள் பயன்படுத்தும் இயல்மொழிகளின் மொழியியலைப் பல இடங்களில் பின்பற்றுகிறது.[5] அணிகள்கூட இதில் உண்டு! இதனாலும், "எளிதானவற்றை இன்னும் எளிமையாக்குதல், முடியாதவற்றையும் கூடச் செய்யுதல்" மற்றும் "எதையும் பல வழிகளில் நிறைவேற்றும் வசதி" போன்ற கொள்கைகளினாலும், இது சற்றே மாறுபட்டு நிற்கிறது. பொதுவாக நிரல்மொழிகள் "சொல்வதைச் செய்"யும் மொழிகளாக இருக்குமிடத்தில் பெர்ள் "சொல்ல விழைந்ததைச் செய்"யும் மொழியாக உள்ளது. இந்த நோக்கில் இதில் பல வசதிகள் உள்ளன. எடுத்துக்காட்டாக தாமாகவுயிர்ப்பித்தல் போன்ற வசதிகள் பிற நிரல்மொழிகளில் அரிது.
தொகுப்பி
பெர்ள் எளிமையான notepad, Crimson Editor போன்றவற்றிலும் தொகுக்கலாம் இருப்பினும் DzSoft Perl Editor போன்றவை கூடிய ஒத்துழைப்பு தரும். எடுத்துக்காட்டாக அவை ஒரு நிரலில் உள்ள தரவு இனங்களை, செயலிகளை இடப்பக்கக் கட்டத்தில் காட்டும். Regular expressions சோதனை செய்ய உதவும். மேலும் களை எடுக்கவும் உதவும்.
மொழி அமைப்பு
தரவினங்கள்
பெர்ள் மொழியில் ஐந்து தரவு இனங்கள் பரவலாய பயன்படுகின்றன. அவையானவை
- திசையிலிகள் (scalars)
- அணி (array)
- hash
- கோப்புப் பிடி - file handle
- செயலி - subroutine
$foo # a scalar
@foo # an array
%foo # a hash
FOO # a file handle
&FOO # a constant (but the & is optional)
&foo # a subroutine (but the & is optional)
hash
#!/usr/bin/perl my %req_command = (Make => 'Juniper', OS_type => 'JunOS', Data_req => 'Serial num', Command => 'Show chassis hardware details'); my @hash_keys = keys (%req_command); foreach my $key (@hash_keys){ my $value = $req_command{$key}; print "$key => $value \n"; }
Command => Show chassis hardware details Data_req => Serial num OS_type => JunOS Make => Juniper
தெரிவு
if ( expr ) block if ( expr ) block else block if ( expr ) block elsif ( expr ) block … else block
unless ( expr ) block unless ( expr ) block else block unless ( expr ) block elsif ( expr ) block … else block
சுற்றுக்கள்
For சுற்று
for (starting assignment; test condition; increment) { code to repeat } #எ.கா: for ($i = 1; $i< 10; $i++){ print $i; }
While சுற்று
while (test condition) { code to repeat } #எ.கா: $i = 1; while ($i < 10){ print $i; $1++; }
For each சுற்று
foreach variable_name (array_name) { code to repeat } #hash %coins = ( "Quarter" , 25, "Dime" , 10, "Nickel", 5 ); # get the key value pair foreach $key (sort keys %coins) { print "$key: $coins{$key}<br />"; }
செயலி
$a = 10; $b = 10; add($a, $b); sub add{ $c = $a + $b; print "This sum is: \n"; print $c; }
கோப்பைக் கையாளல்
வாசித்தல்
$file = "test_file.txt"; open (FH_test_file, "<$file") or die "Cannot Open File \n"; while ($line = <FH_test_file>){ print $line, "<br />"; } close (FH_test_file);
எழுதுதல்
$file = "test_file_b.txt"; open (FH_test_file, ">$file") or die "Cannot Open File \n"; print FH_test_file "This will be written to the file"; close FH_test_file;
சுருங்குறித்தொடர்
பொருத்தி பார்
$test_string = "This is a test sentence"; if ($test_string =~ m/test/i){ print "yes"; }
மாற்றி பொருத்து
$test_string = "This is a test sentence"; $test_string =~ s/e/**/g; print $test_string;
பெர்ள்ளில் பொருள் நோக்கு நிரலாக்கம்
முதன்மை - testclass.pl
#!/usr/bin/perl # Use the pacakge use object_a; # Define new insance of object_a my $ob_a = new object_a; # Intialize data values $ob_a -> data1("abc"); $ob_a -> data2("123"); # Print anc check print $ob_a->data1; print "<br />"; print $ob_a->data2; print "<br />"; # Use method1 $ob_a->method1("A Test print");
வகுப்பு object_a.pm
package object_a; # Constructor sub new { my ($class, %param) = @_; my ($self) = { _data1 => undef, _data2 => undef, }; bless ($self, $class); return $self; }#END Constructor #Accessor method for data1 sub data1 { my ($self, $data1) = @_; $self->{_data1} = $data1 if defined($data1); return $self->{_data1}; }; #Accessor method for data2 sub data2 { my ($self, $data2) = @_; $self->{_data2} = $data2 if defined($data2); return $self->{_data2}; }; #Method of object_a sub method1 { my ($self, $log_data) = @_; print $log_data; } 1;
வெளியீடு
abc 123 A Test print
இதர தகவல்கள்
உள்ளமைவு கோப்பு
ஒவ்வொரு மென்பொருளுக்கும் அதற்கான உள்ளமைவு கோப்பை உருவாக்குவது நன்று.
projectConfig.pm
package projectConfig; $projectConfig::var1 = "data123"; $projectConfig::var2 = "data456";
பயன்படுத்தல்
#!/usr/bin/perl use projectConfig; $configdata = $projectConfig::var1; print $configdata;
மேற்கோள்களும் குறிப்புகளும்
வெளி இணைப்புகள்
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.