Language::INTERCAL::Charset::EBCDIC3pm
Convert between intercal variant of ebcdic and ascii
Usage
use Charset::EBCDIC 'ascii2abcdic';my $a = ebcdic2ascii "(EBCDIC text)";
Overview
Charset::EBCDIC defines functions to convert between a subset of ASCII and a subset of nonstandard EBCDIC (since there isn't such a thing as a standard EBCDIC we defined our own variant which is guaranteed to be incompatible with all versions of EBCDIC used by IBM hardware - however, when we have chosen a code for a character, we have made sure that at least one - but certainly not all - IBM models used that same code, so the choice cannot be criticised). If you really want to know, several variants of EBCDIC are listed in RFC 1345, which is available from the usual sources.
Two functions, ebcdic2ascii and ascii2ebcdic are exportable but not exported by default. They do the obvious thing to their first argument and return the transformed string.
Ebcdic character table
The following are the characters recognised. The ones shown as 2 letter abbreviations cannot be translated to ASCII (except for the control characters, which do have an ASCII equivalent).
+ 0 1 2 3 4 5 6 7 8 9 a b c d e f Notes00 OV TA LF CR OV=overstrike10 TA=tab20 LF=linefeed30 CR=carr-return40 SP CT . < ( + ! SP=space50 & ] $ * ) ; NO CT=cents60 - / XO | , % _ > ? NO=not-sign70 : # @ ' = " XO=XOR(1)80 a b c d e f g h i90 j k l m n o p q r { [a0 ~ s t u v w x y z RE RE=registeredb0 ^ PO CO PO=poundc0 A B C D E F G H I CO=copyrightd0 J K L M N O P Q R } \e0 S T U V W X Y Zf0 0 1 2 3 4 5 6 7 8 9 DE DE=delete
(1) The symbol for the INTERCAL XOR operator, "V overstrike -".
Releases
10 releases since Debian 4.0 (Etch); the text changed 5 times.