HOME -> PERL_TUTORIAL -> perl-07 Tirsdag, 27. Juni 2017

HOME
FORUM
OPEN DIRECTORY
BOOKMARK
Offentliggjort 2003 - Opdateret n/a

Lektion 07

Strenge (Strings)

Indhold

 

TopIndledning
Den type af variabel som er beregnet til at indeholde strenge er skalare variabler. I den sammenhæng er det mulig at anvende enkelte men også dobbelte anførselstegn.
Det er også mulig at anvende q henholdsvis qq. Anvendelsen af disse er dog ikke særlig meget udbredt, men jeg vil i eksemplet alligevel vise anvendelsen af dem.

 

TopEnkelte og dobbelte anførselstegn
Vi lægger ud med et lille script for illustrationen om at gøre!


#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
# Doctype erklæring her!
print "<html><head><title>Anførselstegn</title></head><body>\n";

my $navn = "Flintstone";
my $alder = 35;

print "$navn er $alder år<br>\n";
print '$navn er $alder år<br>\n';

print qq($navn er $alder år<br>\n);
print q($navn er $alder år\n);

print "</body></html>\n";


Resultat:


Af eksemplet fremgår at dobbelte anførselstegn anvendes når der i strengen er angivet variabler og specieltegn (eks.: \n) der skal interpreteres og dermed ønskes udført.
Enkelte anførselstegn anvendes når man ønsker det modsatte, teksten eller strengen returneres ordret.

 

TopSpecialtegn i perl
I perl findes en del specialtegn som kan anvendes. Disse specielle tegn starter med en backslash (\) efterfulgt at et bogstav der angiver hvilken handling der ønskes udført. Disse specialtegn bliver kun interpreteret når strengen står i dobbelte anførselstegn "...." eller qq (....).

Tegn Funktion
\a beep
\b backspace
\n new line
\t tabulator
\U upper case
\L lower case
\u Første tegn skrives stort (upper case)
\l første tegn skrives lille (lower case)
\E sluttegn for \U og \L



#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
# Doctype erklæring her!
print "<html><head><title>Specialtegn</title></head><body>\n";

print "\Uher vises anvendelsen af\E \\U <br /> \n";
print "\LHER VISES ANVENDELSEN AF\E \\L <br /> \n";

print "</body></html>\n";


Resultat:


Læg mærke til at første linie er skrevet med småt, men gengives med store bogstaver da vi anvende \U. Modsat er det ved den efterfølgende hvor \L anvendes, her bliver store bogstaver gengivet med små.

 

Anvendelse af backslash og anførselstegn

Nogen gange kan der være brug for anvendelse af anførselstegn eller backslash inde i selve strengen, for at kunne gøre dette er man nød til at kamuflere tegnet, til dette anvendes backslash (\). F. eks kamufleres backslash med backslash hvilket ser således ud \\.

Efterfølgende eksempel illustrerer anvendelsen.


#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/html\n\n";
# Doctype erklæring her!
print "<html><head><title>Anførselstegn</title></head><body>\n";

print "Anførselstegn i en streng \"Hej og velkommen til\" her er et \\ backslash <br /> \n";
print "Anførselstegn i en streng 'Hej og velkommen til' her er et \\ backslash <br /> \n";
print 'Anførselstegn i en streng "Hej og velkommen til" her er et \ backslash <br />' , "\n";
print 'Anførselstegn i en streng \'Hej og velkommen til\' her er et \ backslash <br />' , "\n";

print "</body></html>\n";


Resultat:


 

TopFunktioner til manipulation af strenge
En af Perls stærke sider ligger i manipulation af strenge. Derfor vil du også i perl finde mange funktioner til dette formål. En nærmere og mere fyldestgørende beskrivelse finder du under "Funktioner til strenge".

Split - At opsplitte en streng
Mange strenge indeholder tegn/symboler til adskillelse, dette måtte være et komma eller måske en bindestreg. Her kan man anvende funktionen split for at opdele strengen og efterfølgende placere denne i en liste. Især data modtaget fra et formular via post eller get vil være egnede kandidater til opsplitning.

Andre vigtige operatorer er index og substr. Med disse kan du isolere bestemte dele af en strengen for kun at visse/anvende disse. Du kan f.eks. isolere selve domænenavnet i en URL.

Søg og erstat i strenge
Perl giver muligheden for målrettet søgning i strenge, og dermed mulighed for at erstatte dele af indholdet. Indgangsvinklen hertil er regulære udtryk.

 

Næste lektion skal handle om Regler for variable navne >>

 

Copyright © 2002 - 2017
NETeXplorer.dk · All rights reserved Top