Hoppa till innehållet

Perl: Skillnad mellan sidversioner

Från Wikipedia
Innehåll som raderades Innehåll som lades till
m Bot överför 1 interwikilänk(ar), som nu återfinns på sidan d:Q42478Wikidata
Plumbot (Diskussion | Bidrag)
m →‎Externa länkar: Lägger till * före mall-anrop
 
(15 mellanliggande sidversioner av 12 användare visas inte)
Rad 1: Rad 1:
{{för|det typografiska måttet ’perl’|Typografisk punkt}}
{{för|det typografiska måttet ’perl’|Typografisk punkt|std}}


{{källor|datum=2020-08}}
{{Faktaruta programspråk
{{Faktaruta programspråk
| namn = Perl
| namn = Perl
| logga =
| logga =
| paradigm = [[Procedurell programmering|procedurell]], [[Imperativ programmering|imperativ]], [[Strukturerad programmering|strukturerad]], [[Modular programmering|modular]], delvis [[Objektorienterad programmering|objektorienterad]]
| paradigm = [[Procedurell programmering|procedurell]], [[Imperativ programmering|imperativ]], [[Strukturerad programmering|strukturerad]], [[Modular programmering|modular]], delvis [[Objektorienterad programmering|objektorienterad]]
| år = 1987
| år = 1987
| skapare = [[Larry Wall]] och Perl Porters
| skapare = [[Larry Wall]] och Perl Porters
| utvecklare = många
| utvecklare = många
| senaste_release_version = 5.24.0
| senaste_release_version = 5.38.0
| senaste_release_datum = [[9 maj]] [[2016]]
| senaste_release_datum = [[2 juli]] [[2023]]
| senaste_test_version =
| senaste_test_version = 5.39.3
| senaste_test_datum =
| senaste_test_datum = [[2023]]
| turingkomplett =
| turingkomplett =
| typbestämning = weak, dynamic, implicit
| typbestämning = weak, dynamic, implicit
| implementationer =
| implementationer =
| dialekter =
| dialekter =
| influerad_av = [[Awk]], BASIC-PLUS, [[C (programspråk)]], [[C++]], [[LISP]], [[Pascal]], [[Python (programspråk)|Python]], [[sed (stream editor)|sed]], [[Unixskal]]
| influerad_av = [[Awk]], BASIC-PLUS, [[C (programspråk)]], [[C++]], [[LISP]], [[Pascal (programspråk)|Pascal]], [[Python (programspråk)|Python]], [[sed (stream editor)|sed]], [[Unixskal]]
| influerat = [[PHP]], [[Ruby]], [[Python (programspråk)|Python]], [[JavaScript]]
| influerat = [[PHP]], [[Ruby]], [[Python (programspråk)|Python]], [[JavaScript]]
| operativsystem = [[Unix]], [[Linux]], [[Microsoft Windows]], m.m.
| operativsystem = [[Unix]], [[Linux]], [[Microsoft Windows]], m.m.
| licens = [[GNU General Public License|GPL]] och [[Artistic License]]
| licens = [[GNU General Public License|GPL]] och [[Artistic License]]
| hemsida = [http://www.perl.org perl.org]
| hemsida = [http://www.perl.org perl.org]
| filändelse = .pl
}}
}}
'''Perl''' är ett [[skriptspråk]] skapat av [[Larry Wall]] 1987. Då Wall är utbildad [[lingvist]] har Perl, liksom naturliga språk, mindre inriktning på struktur och mer på flexibilitet. Perls motto är ''Det finns mer än ett sätt att göra det på'' (eng.: "There's more than one way to do it", eller TIMTOWTDI; uttalas 'Tim Toady'). Som exempel har Perl syntaxstöd för att implementera program [[Procedurell programmering|procedurellt]], [[objektorienterad programmering|objektorienterat]] och till och med visst stöd för [[funktionell programmering]]. Perl är ett generellt språk och kan användas till det mesta, men det har vunnit sin största popularitet för [[Common Gateway Interface|CGI]]-utveckling och [[systemadministration]]. En av Perls viktigaste egenskaper är den integration [[reguljära uttryck]] har i språket. Till skillnad från andra språk, där reguljära uttryck normalt implementeras med hjälp av funktioner och klasser man kan använda sig av, är "regex" direkt tillgängligt för programmeraren som en del av språkets syntax.


Perl är fri mjukvara och distribueras under antingen [[GNU General Public License]] eller [[Artistic License]]<ref>http://dev.perl.org/licenses/</ref>. Det finns tillgängligt för de flesta plattformar och operativsystem; bland annat [[GNU/Linux]], [[FreeBSD]], [[Mac OSX|Mac OS X]] och [[Microsoft Windows]]. Perl har ett stort arkiv med [[Programbibliotek|tilläggsbibliotek]] (moduler) kallat [[CPAN]], där utvecklare kan få tag på färdigskriven kod för många vanliga sysslor.
'''Perl''' är ett [[skriptspråk]] skapat av [[Larry Wall]] 1987. Då Wall är utbildad [[lingvist]] har Perl, liksom naturliga språk, mindre inriktning på struktur och mer på flexibilitet. Perls motto är ''Det finns mer än ett sätt att göra det på'' (eng.: "There's more than one way to do it", eller TIMTOWTDI; uttalas 'Tim Toady'). Som exempel har Perl syntaxstöd för att implementera program [[Procedurell programmering|procedurellt]], [[objektorienterad programmering|objektorienterat]] och till och med visst stöd för [[funktionell programmering]]. Perl är ett generellt språk och kan användas till det mesta, men det har vunnit sin största popularitet för [[Common Gateway Interface|CGI]]-utveckling och [[systemadministration]]. En av Perls viktigaste egenskaper är den integration [[reguljära uttryck]] har i språket. Till skillnad från andra språk, där reguljära uttryck normalt implementeras med hjälp av funktioner och klasser man kan använda sig av, är "regex" direkt tillgängligt för programmeraren som en del av språkets syntax.

Perl är fri mjukvara och distribueras under antingen [[GNU General Public License]] eller [[Artistic License]]<ref>http://dev.perl.org/licenses/</ref>. Det finns tillgängligt för de flesta plattformar och operativsystem; bl a [[GNU/Linux]], [[FreeBSD]], [[Mac OSX|Mac OS X]] och [[Microsoft Windows]]. Perl har ett stort arkiv med [[Programbibliotek|tilläggsbibliotek]] (moduler) kallat [[CPAN]], där utvecklare kan få tag på färdigskriven kod för många vanliga sysslor.


== Perl 6 ==
== Perl 6 ==
{{uppdateras|Källan för 'idag' är synbarligen från 2009.|månad=2020-12}}
Perl 6 är nästa generation av Perl. Specifikationen för Perl 6 utarbetas ännu, men redan idag finns det ett antal delimplementationer, varav [[Rakudo]] är den mest kompletta<ref>http://perl6advent.wordpress.com/2009/12/01/day-1-getting-rakudo/</ref>. I anslutning till Perl 6 utvecklas den [[virtuell maskin|virtuella maskinen]] [[Parrot]], specialiserad för att hantera dynamiska språk.
Perl 6 är nästa generation av Perl. Specifikationen för Perl 6 utarbetas ännu, men redan idag finns det ett antal delimplementationer, varav [[Rakudo]] är den mest kompletta<ref>http://perl6advent.wordpress.com/2009/12/01/day-1-getting-rakudo/</ref>. I anslutning till Perl 6 utvecklas den [[virtuell maskin|virtuella maskinen]] [[Parrot]], specialiserad för att hantera dynamiska språk.


== Programexempel ==
== Programexempel ==
Följande programexempel skriver textraden ''[[Hello world]]'' till terminalen.
Följande programexempel skriver textraden ''[[Hello world]]'' till terminalen.
<source lang="perl">
<syntaxhighlight lang="perl">
#!/usr/bin/perl
#!/usr/bin/perl
print "Hello world\n";
print "Hello world\n";
</syntaxhighlight>
</source>


I följande exempel demonstreras en enkel användning av ett reguljärt uttryck.
I följande exempel demonstreras en enkel användning av ett reguljärt uttryck.
<source lang="perl">
<syntaxhighlight lang="perl">
#!/usr/bin/perl
#!/usr/bin/perl
my $var = 'wikimedia';
my $var = 'wikimedia';
$var =~ s/^wikimedia$/wikipedia/;
$var =~ s/^wikimedia$/wikipedia/;
print "$var\n"; # "wikipedia\n";
print "$var\n"; # "wikipedia\n";
</syntaxhighlight>
</source>

== Referenser ==
<references />


== Se även ==
== Se även ==
* [[Larry Wall]]
* [[Larry Wall]]
* [[CPAN]]
* [[CPAN]]

== Referenser ==
<references />


== Externa länkar ==
== Externa länkar ==
* {{Commonscat|Perl (programming language)}}
* [http://www.perl.org Perl.org]
* [http://www.perl.org Perl.org]
* [http://www.perlfoundation.org Perl Foundation]
* [http://www.perlfoundation.org/ Perl Foundation]
* [http://www.pm.org Perl Mongers], Perls användargrupper
* [http://www.pm.org Perl Mongers], Perls användargrupper
* [http://www.perlmonks.org Perlmonks]
* [http://www.perlmonks.org Perlmonks]
* [http://dev.perl.org/perl6/ Perl Development: Perl 6]
* [http://dev.perl.org/perl6/ Perl Development: Perl 6]
* [http://www.oreilly.com/catalog/perl6es/ Perl 6 Essentials], bok från [[O'Reilly]]
* [http://www.oreilly.com/catalog/perl6es/ Perl 6 Essentials], bok från förlaget [[O'Reilly]]
* [https://web.archive.org/web/20070707003455/http://perlcabal.org/syn/Differences.html Perl6::Perl5::Differences]
* [http://www.programmersheaven.com/2/Perl6-FAQ Perl 6 FAQ]
* [http://perlcabal.org/syn/Differences.html Perl6::Perl5::Differences]
* [http://www.rakudo.org/ Rakudo]
* [http://www.rakudo.org/ Rakudo]
* [http://www.parrot.org/ Parrot]
* [http://www.parrot.org/ Parrot]

Nuvarande version från 30 juni 2024 kl. 17.26

För det typografiska måttet ’perl’, se Typografisk punkt. För andra betydelser, se Perl (olika betydelser).
Perl
Paradigmprocedurell, imperativ, strukturerad, modular, delvis objektorienterad
Gavs ut1987
Skapat avLarry Wall och Perl Porters
Utvecklaremånga
Senaste version5.38.0 (2 juli 2023)
Senaste instabila version5.39.3(2023)
Datatypsdisciplinweak, dynamic, implicit
Influerat avAwk, BASIC-PLUS, C (programspråk), C++, LISP, Pascal, Python, sed, Unixskal
InflueratPHP, Ruby, Python, JavaScript
PlattformUnix, Linux, Microsoft Windows, m.m.
LicensGPL och Artistic License
Webbplatsperl.org
Standardfiländelse(r).pl

Perl är ett skriptspråk skapat av Larry Wall 1987. Då Wall är utbildad lingvist har Perl, liksom naturliga språk, mindre inriktning på struktur och mer på flexibilitet. Perls motto är Det finns mer än ett sätt att göra det på (eng.: "There's more than one way to do it", eller TIMTOWTDI; uttalas 'Tim Toady'). Som exempel har Perl syntaxstöd för att implementera program procedurellt, objektorienterat och till och med visst stöd för funktionell programmering. Perl är ett generellt språk och kan användas till det mesta, men det har vunnit sin största popularitet för CGI-utveckling och systemadministration. En av Perls viktigaste egenskaper är den integration reguljära uttryck har i språket. Till skillnad från andra språk, där reguljära uttryck normalt implementeras med hjälp av funktioner och klasser man kan använda sig av, är "regex" direkt tillgängligt för programmeraren som en del av språkets syntax.

Perl är fri mjukvara och distribueras under antingen GNU General Public License eller Artistic License[1]. Det finns tillgängligt för de flesta plattformar och operativsystem; bland annat GNU/Linux, FreeBSD, Mac OS X och Microsoft Windows. Perl har ett stort arkiv med tilläggsbibliotek (moduler) kallat CPAN, där utvecklare kan få tag på färdigskriven kod för många vanliga sysslor.

Perl 6 är nästa generation av Perl. Specifikationen för Perl 6 utarbetas ännu, men redan idag finns det ett antal delimplementationer, varav Rakudo är den mest kompletta[2]. I anslutning till Perl 6 utvecklas den virtuella maskinen Parrot, specialiserad för att hantera dynamiska språk.

Programexempel

[redigera | redigera wikitext]

Följande programexempel skriver textraden Hello world till terminalen.

 #!/usr/bin/perl
 print "Hello world\n";

I följande exempel demonstreras en enkel användning av ett reguljärt uttryck.

 #!/usr/bin/perl
 my $var = 'wikimedia';
 $var =~ s/^wikimedia$/wikipedia/;
 print "$var\n"; # "wikipedia\n";

Externa länkar

[redigera | redigera wikitext]