-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[30] Come rendo maiuscola la prima lettera di tutte le parole di una riga?

Per rendere maiuscola la prima lettera di ogni parola:

    $riga =~ s/\b(\w)/\U$1/g;

Questo codice ha lo strano effetto di convertire "l'ombra rinfresca" in "L'Ombra Rinfresca". A volte, magari, è proprio ciò che desiderate. Altre volte potreste aver bisogno di una soluzione più completa (suggerita da brian d foy):

    $stringa =~ s/ (
                  (^\w)    #all'inizio della riga
                    |      # o
                  (\s\w)   #preceduto da spazio bianco
                    )
                 /\U$1/xg;
    $stringa =~ s/([\w']+)/\u\L$1/g;

Per rendere un'intera riga maiuscola:

    $riga = uc($riga);

Per forzare ciascuna parola ad essere minuscola, con la prima lettera maiuscola:

    $riga =~ s/(\w+)/\u\L$1/g;

Potete (e probabilmente dovreste) abilitare la gestione del locale per i caratteri che necessitano di essa, aggiungendo un use locale al vostro programma. Consultate perllocale per una serie infinita di dettagli sul locale.

L'operazione sopra descritta è a volte indicata come il porre qualcosa in "title case" [impostare cioè maiscole e minuscole come nei titoli, NdT], ma ciò non è del tutto corretto. Prendete ad esempio in considerazione la corretta scelta delle maiuscole per il film Dottor Stranamore, Ovvero Come Imparai a Non Preoccuparmi e ad Amare la Bomba.

Il modulo di Damian Conway Text::Autoformat fornisce alcune astute trasformazioni tra maiuscole e minuscole:

    use Text::Autoformat;
    my $x = "Dottor Stranamore, Ovvero Come Imparai a Non ".
      "Preoccuparmi e ad Amare la Bomba";
    print $x, "\n";
    for my $stile (qw( sentence title highlight ))
    {
        print autoformat($x, { case => $stile }), "\n";
    }

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google