.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "INTERCAL::Charset::EBCDIC 3pm" .TH INTERCAL::Charset::EBCDIC 3pm "2023-05-18" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Charset::EBCDIC \- allows to use EBCDIC string constants in ASCII programs (and v.v.) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Charset::EBCDIC \*(Aqascii2abcdic\*(Aq; \& \& my $a = ebcdic2ascii "(EBCDIC text)"; .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fICharset::EBCDIC\fR defines functions to convert between a subset of \s-1ASCII\s0 and a subset of nonstandard \s-1EBCDIC\s0 (since there isn't such a thing as a standard \&\s-1EBCDIC\s0 we defined our own variant which is guaranteed to be incompatible with all versions of \s-1EBCDIC\s0 used by \s-1IBM\s0 hardware \- however, when we have chosen a code for a character, we have made sure that at least one \- but certainly not all \- \s-1IBM\s0 models used that same code, so the choice cannot be criticised). If you really want to know, several variants of \s-1EBCDIC\s0 are listed in \s-1RFC 1345,\s0 which is available from the usual sources. .PP Two functions, \fIebcdic2ascii\fR and \fIascii2ebcdic\fR are exportable but not exported by default. They do the obvious thing to their first argument and return the transformed string. .SH "EBCDIC CHARACTER TABLE" .IX Header "EBCDIC CHARACTER TABLE" The following are the characters recognised. The ones shown as 2 letter abbreviations cannot be translated to \s-1ASCII\s0 (except for the control characters, which do have an \s-1ASCII\s0 equivalent). .PP .Vb 10 \& + 0 1 2 3 4 5 6 7 8 9 a b c d e f Notes \& 00 OV TA LF CR OV=overstrike \& 10 TA=tab \& 20 LF=linefeed \& 30 CR=carr\-return \& 40 SP CT . < ( + ! SP=space \& 50 & ] $ * ) ; NO CT=cents \& 60 \- / XO | , % _ > ? NO=not\-sign \& 70 : # @ \*(Aq = " XO=XOR(1) \& 80 a b c d e f g h i \& 90 j k l m n o p q r { [ \& a0 ~ s t u v w x y z RE RE=registered \& b0 ^ PO CO PO=pound \& c0 A B C D E F G H I CO=copyright \& d0 J K L M N O P Q R } \e \& e0 S T U V W X Y Z \& f0 0 1 2 3 4 5 6 7 8 9 DE DE=delete .Ve .PP (1) The symbol for the \s-1INTECAL XOR\s0 operator, \*(L"V overstrike \-\*(R". .SH "COPYRIGHT" .IX Header "COPYRIGHT" This module is part of CLC-INTERCAL. .PP Copyright (C) 1999, 2000, 2002, 2006, 2007 Claudio Calvelli, all rights reserved .PP See the files \s-1README\s0 and \s-1COPYING\s0 in the distribution for information. .SH "SEE ALSO" .IX Header "SEE ALSO" A qualified psychiatrist.