Brukerverktøy

Nettstedverktøy


perl

Forskjeller

Her vises forskjeller mellom den valgte versjonen og den nåværende versjonen av dokumentet.

Lenk til denne sammenligningen

perl [2017-11-07 20:32] (nåværende versjon)
Linje 1: Linje 1:
 +<​code>​
 +For sysadm, praktisk orgientert, ikke teoretisk pent. 80-tallet. Ingen
 +innebygde lengdegrenser.
  
 +En streng = en skalar: $
 +
 +Hashbang, #! /​usr/​bin/​perl
 +
 +Bruk alltid:
 +    use strict;
 +    use warnings;
 +
 +my $foo = "hello world";​
 +Singelquotes tolker ikke escapes. ​
 +Støtter interpelasjon. "Hello $word!
 +my $baz = 3;
 +my $quux = "​3";​
 +. er stringconcatigernig.
 +
 +print 
 +print "Hello world!\n";​
 +
 +@
 +
 +Ting er en liste/​array. Sekvenser av skalarer. ​
 +
 +my @bar = (3, 4, 5);
 +my @foo = @bar[1,2];
 +
 +my (@foo, $bar) = @list // gir 3 og 4.
 +my (@foo, undef, $bar) = @list // gir 3 og 5
 +
 +Dereferering:​ print $bar[1]
 +
 +Lister i lister flater ut liseter.
 +
 +--- perldoc -f join (gir info om join)
 +
 +% Hashes, assosiative arrays
 +
 +%hash = (
 + foo => 3;
 + "​bar",​ 4,
 +);
 +
 +print @hash{'​foo'​},​ "​\n";​
 +print @hash{'​iwd'​},​ "​\n";​ // gir undef
 +
 +if(exists($hash
 +
 +<> filhåndtering
 +
 +open my $fh, "<​test.txt"​
 +    or die "​test.txt:​ $!"; // tekslige feilmeldinger fra forrige funksjon
 +
 +«perldoc perlvar» sier masse om variablene
 +
 +while (<​$fh>​) {
 + print $_; 
 +}
 +
 +while (<​STDIN>​) {
 +    print $_; 
 +}
 +
 +<> er magisk og tar fra stdin eller fil hvis gitt på argument
 +
 +close $fh
 +
 +sub fuksjon {
 +    my ($en, @to) = @_;
 +    print "​Fisk";​
 +    print $to; // liste
 +}
 +
 +// if (!defined($fire)) for å sjekke undef.
 +
 +my @q = map { $_ + 1 } (@v);
 +
 +funksjon(2,​3,​4,​5,​6);​
 +
 +=~ # regex
 +
 +my $text = "Hei, jeg heter torvald";​
 +
 +if($text =~ /​([A-Z][a-z])+/​) {
 +    print "​Ja";​
 +    # paranteser samler matchene og legger med flere paranters i $1, $2 osv
 +}
 +
 +if (/([A-Z]
 +    [a-z]
 +    )+/x) {
 +
 +
 +
 +:: moduler
 +
 +use HTML::​Entities;​
 +
 +my $text = "​X<​Y";​
 +encode_entities($text);​
 +
 +perldoc HTML::​Entities
 +
 +(se CPAN)
 +
 +
 +$$ referanser/​pekere
 +
 +my $ref = \$text
 +
 +print $$ref;
 +
 +referasner alltid skalerar.
 +
 +lister i lister må være referasner [ 1, 2, 3, [4, 5] ]
 +
 +
 += () =  mye morsomme operatorerer.
 +
 +-T (perlagrument) legger i hashbang, gjør taiting. Slå sammen sikker og usikker data. Brukere data blir flagget,
 +
 +
 +
 +WEBSIDE
 +
 +user strict; ​
 +use warning;
 +use CGI;
 +
 +my $cgi = CGI->​new;​
 +print CGI->​header(-type=>'​text/​plain;​ charset=utf-8,​
 +        -expires=>'​+5m'​);​
 +
 +
 +for my $p ($cgi->​param) {
 +        print "​Parameter du ga ut: $p"
 +}
 +
 +
 +break og contiune heter i perl break og last.|
 +
 +last unless ($i = fisk);
 +</​code>​
perl.txt · Sist endret: 2017-11-07 20:32 (ekstern redigering)