Offentliggjort 2003 - Opdateret n/a
Lektion 09
Lektionen giver en god oversigt over de mest anvendte funktioner til strenge.
Indhold
Chomp
Fjerner sidste tegn i en streng. Særdeles velegnet til fjernelse af newline .. \n tegn.
Chomp bør anvendes hvis ikke man er sikker på om strengen indeholder en \n i slutningen.
Egentlig fjerner chomp tegnet i enden af en streng, som er indehold i variablen $/ (standardværdi er \n). Er $/ tom, vil alle tekstombrydninger blive fjernet.
$string = "Hej verden\n";
chomp($string); # Fjerner \n
$string = "Hej verden";
chomp($string); # Giver ingen ændring af $string
$/ = 'lo';
$string = "Hej verden";
chomp($string); # $string er nu "Hej verde"
$/ = ' ';
$string = "Hej verden\n\n\n";
chomp($string); # Fjerner alle \n
Chop
Fjerner sidste tegn i en streng. I modsætning til chomp fjerner chop sidste tegn uansat hvad!
$variabel = 'Fred';
chop($variabel); #Returnerer Fre
Length
Via lenght kan du finde frem til strengens længde inklusive specielle tegn.
$streng = "Fred\tFlintstone\n";
print length($streng)."\n"; # Returnerer 16
Reverse
Via reverse kan du vende din sætning. Eksemplet taler for sig.
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
my $omvendt = reverse("De tryllebundne tilskuere, Carters medhjælpere og de to andre anatomiprofessorer der var blevet tilkald for at foretage en undersøgelse af mumien, kunne ikke .... ");
print "Content-type: text/html\n\n";
# Doctype erklæring her!
print "<html><head><title>Funktioner</title></head><body>\n";
print "$omvendt\n";
print "</body></html>\n";
Resultat:
Split
I eksemplet har vi erklæret en variabel saetning som vi anvender funktionen split på. I første omgang splittes sætningen op efter mellemrum. De enkelte ord bliver tilføjet arrayet @ord, hvorefter disse udskrives!
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
my $saetning = "De tryllebundne tilskuere, Carters medhjælpere og de to andre anatomiprofessorer der var blevet tilkald for at foretage en undersøgelse af mumien, kunne ikke ....";
my @ord = split(/ /,$saetning);
my $antal = @ord;
print "Content-type: text/html\n\n";
# Doctype erklæring her!
print "<html><head><title>Funktioner</title></head><body>\n";
print "Denne sætning <b>$saetning</b> indeholder $antal ord\n";
print "</body></html>\n";
Resultat:
Næste lektion skal handle om funktioner til lister/arrays og hashes >>
|