Jeg har programmeret i COBOL i mange år, men først for nyligt fik jeg brug for samme funktionalitet i COBOL, som stilles til rådighed af funktionerne INDEX i PL/I, POS i REXX og POSSTR i SQL. Nu om dage findes der faktisk funktioner i COBOL, men ikke nogen der ligner de netop nævnte funktioner. Jeg måtte derfor søge hjælp hos andre garvede COBOL programmører, som henviste mig til INSPECT statementet.
Nu er COBOL manualens beskrivelser af diverse statements ikke verdens bedste, så vi måtte finde et konkret eksempel på anvendelsen, før den var hjemme. Jeg håber dette tip kan spare dig for de frustrationer, jeg var ude i. Bare det at finde ud af, at INSPECT er det statement i COBOL, der kan hjælpe, er i sig selv en bedrift, hvis man ikke lige ved det. Sådan her gør du:
INSPECT optæller antallet af tegn i HAYSTACK, der findes før den første forekomst af NEEDLE og adderer antallet til NEEDLEPOS. Derfor sættes NEEDLEPOS til 1 før INSPECT. I modsætning til INDEX/POS/POSSTR, så ender NEEDLEPOS med at være antal bytes i HAYSTACK plus 1, hvis NEEDLE ikke findes i HAYSTACK. I øvrigt kan INSPECT en hel masse andre ting end at fungere som scanner.