FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Architecture & Design
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
January 01, 2002

Writing CGI Scripts in REXX (Web Techniques, May 1996)

(Page 8 of 23)

Writing CGI Scripts in REXX, Listing 1 (Web Techniques, May 1996)

Web Techniques Magazine

May 1996

Volume 1, Issue 2





Writing CGI Scripts in REXX



Listing One

DeWeb: PROCEDURE; PARSE ARG Input, Opts

/* *******************************************

DeWeb converts hex encoded (e.g. %20=space)

characters in the Input string to the equivalent

ASCII characters and returns the decoded string.

If the 2 characters following a % sign do not

represent a hexadecimal 2 digit number, then

the % and following 2 characters are returned

unchanged. If the string terminates with a % then

the % sign is returned unchanged. If the final

two characters in the string are a % sign

followed by a single hexadecimal digit then

they are returned unchanged.

The optional Options argument contains a set of

characters which allows you to tell DeWeb to:

'+' convert plus signs (+) to psaces

in the input before the hex decoding is done.

'*' convert asterisks (*) to percent signs (%)

after the decoding. This option

is often used with Oracle.

Examples:

SAY DeWeb('%3Cpre%3e%20%%25Loss %Util%')

results in: '

 %%Loss  %Util%'

SAY DeWeb('%3cpre%3eName++Address%','*+')

results in '

Name  Address*'

******************************************* */

IF POS('+',Opts)/=0 THEN Input=TRANSLATE(Input,' ','+')

Start=1; Decoded=''

DO WHILE POS('%',SUBSTR(Input,Start))/=0

String=SUBSTR(Input,Start)

PARSE VAR String Pre'%'+1 Ch +2 Input

IF DATATYPE(Ch,'X') & LENGTH(Ch)=2 THEN

Ch=X2C(Ch)

ELSE DO; Input=Ch||Input; Ch='%'; END

Start=LENGTH(Decoded||Pre||Ch)+1

Input=Decoded||Pre||Ch||Input

Decoded=Decoded||Pre||Ch

END

IF POS('*',Opts)/=0 THEN Input=TRANSLATE(Input,'%','*')

RETURN Input



( back )


Copyright Web Techniques. All rights reserved.

Previous Page | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK