harangzsolt33 has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to learn how tr really works, and I think I still don't get it. I remember, reading the manual...it said that the character following tr is a separator character, and everything between the separators are characters that will get replaced with a new set of characters defined in the second group. Anyway, I am trying to write a little program that replaces the first 52 bytes of a character map with letters. In other words, in this programming exercise, I am trying to replace binary codes with tr, but tr is not handling these codes very well. For example, it gives an error when I try to convert chr(8) to "I"
Here is my sample code:
#!/usr/bin/perl use strict; use warnings; for (my $i = 0; $i < 52; $i++) { $a = chr($i); $a =~ tr|\0\1\2\3\4\5\6\7\8\t\n\0x0B\r\0x0D\0x0E\0x0F\0x10\0x11\0x12 +\0x13\0x14\0x15\0x16\0x17\0x18\0x19\0x1A\0x1B\0x1C\0x1D\0x1E\0x1F !"# +$%&'()*+,-./0123456789|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst +uvwxyz|; print "chr $i -> $a \n"; } exit;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Question about tr
by soonix (Chancellor) on Oct 19, 2018 at 06:54 UTC | |
by ikegami (Patriarch) on Oct 20, 2018 at 02:14 UTC | |
|
Re: Question about tr (updated)
by haukex (Archbishop) on Oct 19, 2018 at 07:46 UTC | |
|
Re: Question about tr
by nysus (Parson) on Oct 19, 2018 at 05:54 UTC | |
by harangzsolt33 (Deacon) on Oct 22, 2018 at 02:30 UTC |