Update: Thank you AnomalousMonk for pointing out how pack works and that the code in the OP does work. I tried it but somehow thought I was only seeing the original plaintext in the header when I saw #!/usr/bin/p and got distracted playing with Acme::Bleach.
roadtest: The code you provided is missing a step before the pack function. tr/ \t/01/; is needed to translate the spaces and tabs to 0's and 1's before pack can turn them into text. If you look at the brighten subroutine in Acme::Bleach you will see this step. The output from your example is shown below. I also had to add an empty line after the data so the heredoc could find the end.
#!/usr/bin/p
In reply to Re: bleach question
by Lotus1
in thread bleach question
by roadtest
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |