[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[open-cobol-list] Cobol toy.
From: |
John Culleton |
Subject: |
[open-cobol-list] Cobol toy. |
Date: |
Sat, 6 Sep 2008 11:08:19 -0400 |
User-agent: |
KMail/1.9.9 |
I wanted to fill my sig block with an edited version of my current
Linux uptime. So for my sig block I referred to a little
script "sigout" which called uptime. Unfortunately automatically
editing uptime seemed a bit of a chore in sed, awk or whatever. So I
turned to a more familiar tool and and some less familiar verbs such
as string and unstring.
Here is the script:
------------------------------------
uptime >sigfirst
echo John Culleton
echo Able Indexers and Typesetters
stripit
echo -n "Slackware Linux "
cat sigsecond
--------------------------------
and here is the COBOL program stripit:
--------------------------------------------------------
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. STRIPIT.
000030 AUTHOR. JOHN CULLETON.
000040 INSTALLATION. WEXFORDPRESS
000045 Eldersburg MD.
000047*SECURITY. Copyright 2008 John R. Culleton, Jr.
000050*REMARKS.
000060* Strips down output of uptime.
000070 ENVIRONMENT DIVISION.
000080
000090 CONFIGURATION SECTION.
000100 SOURCE-COMPUTER.
000110 Linux.
000120 OBJECT-COMPUTER.
000230 Linux.
000140
000150 INPUT-OUTPUT SECTION.
000160 FILE-CONTROL.
000170 SELECT INFILE ASSIGN TO "sigfirst"
ORGANIZATION IS LINE SEQUENTIAL.
000170 SELECT OUTFILE ASSIGN TO "sigsecond"
ORGANIZATION IS LINE SEQUENTIAL.
000180 DATA DIVISION.
000190
000200 FILE SECTION.
FD INFILE.
01 SIGIN PICTURE X(80).
FD OUTFILE.
01 SIGOUT PICTURE X(80).
000210
000220 WORKING-STORAGE SECTION.
000230 01 WORK-FIELDS.
05 FIELDZ PICTURE X.
05 FIELDA PICTURE X(25).
05 FIELDB PICTURE X(25).
05 FIELDC PICTURE X(25).
05 FIELDD PICTURE X(25).
05 FIELDE PICTURE X(25).
05 FIELDF PICTURE X(25).
05 FIELDG PICTURE X(25).
05 FIELDH PICTURE X(25).
05 FIELDI PICTURE X(80).
01 FIELDX PIC X(7) VALUE "hrs:min".
01 COUNTA PICTURE 99 COMPUTATIONAL.
000240 PROCEDURE DIVISION.
000250 001-MAIN-PROCEDURE.
OPEN INPUT INFILE OUTPUT OUTFILE.
MOVE SPACES TO SIGIN.
READ INFILE AT END STOP RUN.
MOVE SPACES TO WORK-FIELDS.
UNSTRING SIGIN
DELIMITED BY ALL SPACES
INTO
FIELDA
FIELDB
FIELDC
FIELDD
FIELDE
FIELDF
FIELDG
FIELDH
FIELDI.
MOVE SPACES TO SIGOUT.
INSPECT FIELDF TALLYING COUNTA FOR ALL
":".
IF COUNTA LESS THAN 1 MOVE "min "
TO FIELDX.
INSPECT WORK-FIELDS REPLACING ALL
SPACES BY "-".
STRING
FIELDC
DELIMITED BY "-"
" "
FIELDD
DELIMITED BY "-"
" "
FIELDE
DELIMITED BY "-"
" "
FIELDF
DELIMITED BY "-"
" "
FIELDX
INTO SIGOUT.
INSPECT SIGOUT REPLACING ALL
"-" BY " ".
WRITE SIGOUT.
CLOSE INFILE OUTFILE.
STOP RUN.
-------------------------------------------
And here is the result:
--
John Culleton
Able Indexers and Typesetters
Slackware Linux up 2 days, 19:27, hrs:min
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [open-cobol-list] Cobol toy.,
John Culleton <=