perl:substr() liefert falsche Werte



  • Guten Morgen,
    ich nutze folgenden

    open IN , meineDatei || die Warnung;
    @data = ( <IN> );
    foereach $buffer ( @data) {
       if ( substr( $buffer,0,3) eq "[X]" ) {    ### das ist ok
          $x = substr( $buffer,3);                ### hängt leerzeichen an !
       }
    }
    

    Für @data[n]== "[X]abcde" erwarte ich in $x: "abcde" erhalte aber "abcde "
    ( ne Menge Leerzeichen dran.
    Daher wird auch bei @data[n] == "[X]" das print ausgeführt

    if ( $x) {
        print "$x  ist nicht leer " ;
    }
    

    Hat jemand einen Tip
    Danke Hanns

    [ Dieser Beitrag wurde am 02.02.2003 um 10:02 Uhr von ^Hanns editiert. ]



  • vielleicht hängen noch die \n bzw \n\r dran.
    versuch mal

    foreach $buffer (@data) {
      chomp($buffer);
      [...]
    }
    

Anmelden zum Antworten