New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Perl - Wikipedia

Perl

Fra Wikipedia, den frie encyklopedi

Perl, Practical Extraction and Report Language, er et programmeringsspråk som ble sluppet av Larry Wall 18. desember 1987. Språket «låner» mye av sin funksjonalitet fra for eksempel C, Unix-skripting (sh), awk, sed, Lisp og (i mindre grad) mange andre programmeringsspråk.

Innhold

[rediger] Filosofi

Perl ble laget for å være et praktisk språk for å hente ut informasjon fra tekstfiler, for så å nyttegjøre seg av denne informasjonen. Et av mottoene er «There's more than one way to do it» (TMTOWTDI – uttales «Tim Toady»), som direkte oversatt til norsk betyr «det er mer enn én måte å gjøre det på». Et av målene med språket var å gjøre «enkle oppgaver enkle å løse, og vanskelige oppgaver mulige å løse».

Perl har direkte støtte for regulære uttrykk i sin syntaks, og språket er ofte betegnet som det typiske skriptspråket, og har blitt kalt «limet som holder webben sammen» på grunn av språkets popularitet som «CGI-språk».

[rediger] Nåværende versjon

Den nåværende versjonen, 5.8.8, ble sluppet 2. februar 2006. Neste versjon, Perl 6, er under utvikling, og den vil ta i bruk Parrot, en virtuell maskin som blir utviklet med tanke på å støtte flere programmeringsspråk.

[rediger] Innebygde datatyper

Perl har tre innebygde datatyper:

  • Skalarer (en. scalars) kan holde en enkelt verdi, f.eks. en tekststreng, et nummer eller en referanse.
  • Lister (en. arrays) kan holde flere skalarer basert på en indeks (som starter ved posisjon 0).
  • Assosiative lister (en. hashes), er uordnede samlinger bestående av skalarer som er indeksert på basis av den assosierte nøkkelen.

Skalarer, lister og hasher kan tilordnes navngitte variabler. Det første tegnet i variabelnavnet angir hvilken datatype det er snakk om. Resten identifiserer verdien som variabelen har.

Skalarer begynner alltid med «$», selv om den refererende variabelen tilhører en liste eller en hash:

$maaneder[11]         # det 12. elementet i listen @maaneder
$adresse{'Per'}       # elementet med nøkkelen 'Per' i hashen %adresse

Lister navngis med «@» som første tegn, som forteller at mer enn én verdi vil bli returnert:

@maaneder             # ( $maaneder[0], $maaneder[1], ..., $maaneder[n] )
@maaneder[2,3,4]      # samme som ( $maaneder[2], $maaneder[3], $maaneder[4] )
@adresse{'Per','Ola'} # samme som ( $adresse{'Per'}, $adresse{'Ola'} )

Assosiative lister, hasher, begynner med «%» (som i %adresse ovenfor), men ved adressering benyttes «$»-tegnet;

%adresser     = ( 'Per' => 'Storgata 99',
                  'Ola' => 'Svingen 18' );
print 'Per bor i ' . $adresser{'Per'} . "\n";

[rediger] Eksempler

[rediger] Hello, world!

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

[rediger] Løkker

while ( uttrykk ) {
    ...
}
do {
    ...
} while ( uttrykk );
do {
    ...
} until ( uttrykk );
for ( initialisering ; termineringsbetingelse ; økningsgrad ) {
    ...
}
foreach ( liste ) {
    ...
}
for ( liste ) {
    ...
}

[rediger] If-then

if ( uttrykk ) {
    ...
}
unless ( uttrykk ) {
    ...
}
if ( uttrykk ) {
    ...
}
else {
    ...
}
if ( uttrykk ) {
    ...
}
elsif ( uttrykk ) {
    ...
}
else {
    ...
}

[rediger] Subrutiner

Subrutiner spesifiseres med nøkkelordet sub. Variabler til subrutinen blir representert som elementer i den lokale (for subrutinen) listen @_. Kaller man en subrutine med tree argumenter, blir disse representert som @_[0], @_[1] og @_[2] i subrutinen. Merk at disse elementene blir referert til som skalarene $_[0], $_[1] og $_[2]. Funksjonen shift kan også benyttes for å få tak i hver av verdiene.

Endres noen av elementene i @_ i subrutinene, reflekteres også denne endringen i programmet som kalte subrutinen.

Subrutiner returner vanligvis resultatet av det siste uttrykket, men en eksplisitt return-verdi kan angis og anbefales for å gjøre det helt klart hva programmereren faktisk ønsker å returnere.

Eksempel:

sub kube {
    my $x = shift;
    return $x ** 3;
}

$z = -4;
$y = kube($z);
print "$y\n";

Navngitte argumenter kan simuleres ved å gi subrutinen en hash som inn-argument:

sub hallo {
    my %person = @_;
    return "Hallo, $person{fornavn} $person{etternavn}!\n";
}

print hallo (
    fornavn   => 'Ola',
    etternavn => 'Nordmann',
);

[rediger] Perl og databaser

DBI-grensesnittet er den løsningen som oftes blir brukt for å kommunisere med de fleste ANSI SQL-databasene, som f.eks. MySQL, PostgreSQL og Oracle.

[rediger] Eksterne lenker

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu