On Tue, 29 Apr 2003 20:41:01 +0200, Jette wrote:
> =?IS0-8859-1?Q?s=E6t =F8en p=E5 en h'a\"t=3A=2F=2C og =29s=C6t=28 s=C6t
^
Dette er et nul ('0'), ikke et 'O'... måske er det grunden?
> $subject =~ s/=\?ISO-8859-1\?Q\?//g;
^
Her har du 'O'
I stedet for kun at udskifte de kombinationer du har listet op, var
det måske en idé at læse hex-tallet og konvertere det; så virker din
funktion for samtlige tegn, ikke kun dem du tilfældigvis har listet.
Hvis du ikke orker at finde ud af hvordan man gør det, så kan
MIME::QuotedPrint f.ex. hjælpe dig:
$ perl -MMIME::QuotedPrint -e 'print decode_qp("Fr=E6kke fr=F8l=E5r"), "\n"'
Frække frølår
$
Hvis du hellere vil have en løsning til hele problemet, så kan
MIME::WordDecoder fra MIME-Tools være til hjælp:
<
http://search.cpan.org/author/ERYQ/MIME-tools-5.411a/lib/MIME/WordDecoder.pm>
Ex.:
$ perl -MMIME::WordDecoder -e 'print unmime("=?ISO-8859-1?Q?Fr=E6kke fr=F8l=E5r?="), "\n"'
Frække frølår
$
I det hele taget er der et væld af moduler på cpan.org, som kan en
masse af de ting man lige har brug for i en snæver vending.
> $subject =~ s/=\?ISO-8859-1\?B\?//g;
Din funktion fjerner indledningen af Base64-encodede strenge, men den
burde vel egentlig afkode dem først/også?
Mvh.
--
"One little moment when nothing can hurt" Adam Sjøgren
asjo@koldfront.dk