5000 Elefantes (COBOL)

Cielo santo, que cosas... En mi vida habia trabajado con un lenguaje tan extraño... Bueno, tal vez x86 assembly sea igualmente rarito :)  Me costo alrededor de media hora lograr que este aparato funcionara.  Supongo que no esta mal, para ser la primera vez que trabajo con COBOL.  Ha sido probado en linux con open-cobol.  Lo unico que no logre fue deshacerme de los ceros a la izquierda, lo cual no me molesta demasiado.  Tal vez un dia de estos regrese y lo arregle :)  Mientras tanto, hace lo que tiene que hacer.


IDENTIFICATION DIVISION.
   PROGRAM-ID. 5000-Elefantes.
   AUTHOR. Jon Tohrs -- Send me money -_-  --.
DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-VARIABLES.
          05 WS-ELEPHANTS                    PIC 9(4)    VALUE 0.
          05 WS-NEXT-ELEPHANTS               PIC 9(4)    VALUE 0.
PROCEDURE DIVISION.
   SWING-THOSE-ELEPHANTS.
          PERFORM VARYING WS-ELEPHANTS FROM 0 BY 1 UNTIL WS-ELEPHANTS = 5000
          DISPLAY SPACES
          ADD 1 TO WS-ELEPHANTS GIVING WS-NEXT-ELEPHANTS
          EVALUATE WS-ELEPHANTS
            WHEN 0
     DISPLAY WS-NEXT-ELEPHANTS
             " elefante"
     DISPLAY "se columpiaba"
     DISPLAY "sobre la tela"
     DISPLAY "de una araña"
     DISPLAY "como veia"
     DISPLAY "que resistia"
     DISPLAY "fue a llamar"
     DISPLAY "a otro elefante..."
            WHEN 1 Thru 5000
     DISPLAY WS-NEXT-ELEPHANTS
             " elefantes"
     DISPLAY "se columpiaban"
     DISPLAY "sobre la tela"
     DISPLAY "de una araña"
     DISPLAY "como veian"
     DISPLAY "que resistia"
     DISPLAY "fueron a llamar"
     DISPLAY "a otro elefante..."
          END-EVALUATE
        END-PERFORM
        DISPLAY SPACES
        DISPLAY "Y asi hasta el infinito..."
      STOP RUN.