ralph: lower and upper case

Hallo

Kann mir jemand bei meinem Problem helfen?

Wie kann ich mit Perl überprüfen ob ein String, der nur aus einem Zeichen besteht, lower oder uppercase ist?

z.B.

if ($var == "GROSS geschrieben"){    #gross geschrieben
    &machirgendwas;
    }
else {                               #klein geschrieben
    &machwasanderes;
    }

Danke und Gruss
Ralph

P.S.

RTFM hat leider nichts gebracht ;-)

  1. hi hi Ralph

    if ($var=~s/[A-Z]// && length($var) == 1){    #gross geschrieben

    guck mal ob das so past
    hier kannst du das nach lesen
    http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#allgemeines

    bis bis roman

    1. Hallo Ralph!

      if ($var=~s/[A-Z]// && length($var) == 1){    #gross geschrieben

      Würd ich so nicht machen:

      1. Wieso soll ich das zeichen im string _ersetzen_?
      2. das geht in einem
        if ($var =~ /[1]$/) # groß geschrieben

      http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#allgemeines

      siehe auch perlre Manpage

      Alles Gute aus Wien
         flo


      1. A-Z ↩︎

  2. Hi Ralph,

    Wie kann ich mit Perl überprüfen ob ein String, der nur aus einem Zeichen besteht, lower oder uppercase ist?

    Also nur ein Zeichen?
    http://www.perlunity.de/perl/handbuch/perlclib.shtml
    isUPPER() ('use locale' falls nötig) bzw. isUPPER_uni() (falls Unicode)

    Falls es nur ASCII ist gibt es bestimmt einfachere Möglichkeiten; vielleicht hast Du Glück und irgendeiner der Perlspezialisten hier im Forum regt sich über meine Antwort genügend auf, um etwas Besseres zu posten ;-)

    RTFM hat leider nichts gebracht ;-)

    Einges steht in der perllocale Manpage, der Rest in der perlclib Manpage. Aber hast recht, so richtig erquicklich ist die Suche von perldoc nicht gerade.

    so short

    Christoph Zurnieden

  3. use Mosche;

    Wie kann ich mit Perl überprüfen ob ein String, der nur aus einem Zeichen besteht, lower oder uppercase ist?

    if ($var == "GROSS geschrieben"){    #gross geschrieben

    Wie wäre es mit einem einfachen:
    if ($var eq uc($var)) {
       gross();
    } elsif ($var eq lc($var)) {
       klein();
    } else {
       gemischter_string();
    }

    Geht auch mit mehr als einem Zeichen.

    use Tschoe qw(Matti);

    --
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
  4. Hi ralph,

    Wie kann ich mit Perl überprüfen ob ein String, der nur aus einem Zeichen besteht, lower oder uppercase ist?

    solange Du nur [A-Z] als "Zeichen" verwendest, würde ich das auch per regular expression lösen.

    Aber wie genau bist Du Dir Deiner Zeichenmenge bewußt?
    Können Umlaute und ß darin vorkommen?
    Oder gar skåndinåvische Smørrebrøds bzw. sonstige Schmàckofátzièn?

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.