Kom ihåg mig?
Home Menu

Menu


Perl for dummies

Ämnesverktyg Visningsalternativ
Oläst 2006-04-01, 13:52 #1
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
Ä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.
aikon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-01, 14:00 #2
Thomass avatar
Thomas Thomas är inte uppkopplad
Administratör
 
Reg.datum: May 2003
Inlägg: 3 901
Thomas Thomas är inte uppkopplad
Administratör
Thomass avatar
 
Reg.datum: May 2003
Inlägg: 3 901
$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.
Thomas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-01, 14:03 #3
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
Tack, ska testa.

Men finns inte ucfirst i perl? Hittade det med googlande.
aikon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-01, 14:08 #4
Thomass avatar
Thomas Thomas är inte uppkopplad
Administratör
 
Reg.datum: May 2003
Inlägg: 3 901
Thomas Thomas är inte uppkopplad
Administratör
Thomass avatar
 
Reg.datum: May 2003
Inlägg: 3 901
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.
Thomas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-02, 20:05 #5
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
alexut alexut är inte uppkopplad
Medlem
 
Reg.datum: Oct 2005
Inlägg: 102
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....
alexut är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-02, 20:19 #6
kers kers är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2004
Inlägg: 526
kers kers är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2004
Inlägg: 526
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 $_.
kers är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-03, 21:18 #7
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
aikon aikon är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 277
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 Ö...
aikon är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:50.

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