WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Perl for dummies (https://www.wn.se/forum/showthread.php?t=13284)

aikon 2006-04-01 13:52

Är helt borta på perl, men måste göra en liten ändring i ett skript som läser epost och fixar lite..

$headers{SUBJECT} = ucfirst($headers{SUBJECT});

Vad är fel med den raden? Första bokstaven i textsträngen som ligger i $headers{SUBJECT} ska göras om till uppercase. Men inget händer, den är fortfarande liten efter den där raden.

Thomas 2006-04-01 14:00

$headers{SUBJECT} =~ s/([A-ZÅÄÖØa-zåäöø])([A-ZÅÄÖØa-zåäöø]+)/\U$1\E\L$2\E/g;
Ger En Text Likt Denna.

$headers{SUBJECT} =~ s/([A-ZÅÄÖØa-zåäöø])([A-ZÅÄÖØa-zåäöø]+)/\U$1\E\L$2\E/;
Ger en text likt denna gissar jag på iom att g är borttaget.

aikon 2006-04-01 14:03

Tack, ska testa.

Men finns inte ucfirst i perl? Hittade det med googlande.

Thomas 2006-04-01 14:08

Citat:

Originally posted by aikon@Apr 1 2006, 14:03
Tack, ska testa.

Men finns inte ucfirst i perl? Hittade det med googlande.

Skulle tro det är nåt lib som inte är installerat, känns lite php o sån lyx finns sällan i perl.

Kod:

#!/usr/bin/perl
print "Content-type: text/html\n\n";

$var = "hej pa dej.";
$var2 = "hej pa dej.";

$var =~ s/([A-ZÅÄÖØa-zåäöø])([A-ZÅÄÖØa-zåäöø]+)/\U$1\E\L$2\E/g;
$var2 =~ s/([A-ZÅÄÖØa-zåäöø])([A-ZÅÄÖØa-zåäöø]+)/\U$1\E\L$2\E/;

print "$var\n<br>$var2\n<br>";

ger

Kod:

Hej Pa Dej.
Hej pa dej.


alexut 2006-04-02 20:05

Citat:


my $string ="asdas";

print ucfirst($string);

Citat:


(17:11:57 <~>) 0 # perl test.pl
Asdas

funkar här...

kolla först att du gett $headers{SUBJECT} ett värde innan du försöker ucfirst....

kers 2006-04-02 20:19

ja, ucfirst är en standardfunktion.

från "perldoc -f ucfirst":

ucfirst EXPR
ucfirst Returns the value of EXPR with the first character in uppercase
(titlecase in Unicode). This is the internal function imple-
menting the "\u" escape in double-quoted strings. Respects
current LC_CTYPE locale if "use locale" in force. See perllo-
cale and perlunicode for more details about locale and Unicode
support.

If EXPR is omitted, uses $_.

aikon 2006-04-03 21:18

Jodå, $headers{SUBJECT} har ett värde. Värdet är oförändrat med liten bokstav först...

Men jag har en fråga till Thomas. Jag lade in din kod, och den funkar bra för "vanliga" bokstäver, de ändras till stor bokstav, men om strängen börjar på litet ö så funkar det inte. Det blir inget stort Ö...


Alla tider är GMT +2. Klockan är nu 02:42.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson