FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
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.
DR. DOBB'S CAREER CENTER
Ready to take that job and shove it? open | close
Search jobs on Dr. Dobb's TechCareers
Function:

Keyword(s):

State:  
  • Post Your Resume
  • Employers Area
  • News & Features
  • Blogs & Forums
  • Career Resources

    Browse By:
    Location | Employer | City
  • Most Recent Posts:
    MEDIA CENTER  more
    NetSeminar
    Modernize your Development by Moving Build and Code Quality Upstream
    Moderated by Jon Erickson, Editor-in-Chief of Dr. Dobb's, this interactive panel discussion brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.

    The reality of today's development environment - geographically distributed teams, the use of Agile development practices, increasing application complexity, etc. - is straining the viability of the traditional coding, build and release process. To stay ahead of the curve, development teams are modernizing their approach to dealing with these issues, and as a result are achieving new levels of development productivity. Register for the webcast.
    Date: Wednesday, July 15, 2009
    Time: 11 am PT/2 pm ET
    Modernize your Development by Moving Build and Code Quality Upstream
    Moderated by Jon Erickson, Editor-in-Chief of Dr. Dobb's, this interactive panel discussion brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.

    The reality of today's development environment - geographically distributed teams, the use of Agile development practices, increasing application complexity, etc. - is straining the viability of the traditional coding, build and release process. To stay ahead of the curve, development teams are modernizing their approach to dealing with these issues, and as a result are achieving new levels of development productivity. Register for the webcast.
    Date: Wednesday, July 15, 2009
    Time: 11 am PT/2 pm ET
                                   
    INFO-LINK

    Resource Links: