|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Yuriy Kaminskiy 2:5020/517.21 07 Nov 2001 15:37:22 To : Ilya Anfimov Subject : Re: как раскодировать тему сообщения -------------------------------------------------------------------------------- >>>>> On 20:01 06/11/2001, ilan@adt.ru writes: IA> Hичего, если я немного поправлю? И я, и я :) Правильный ответ: === cut === #!/usr/bin/perl use MIME::Words qw/:all/; @ARGV || chop(@ARGV=<>); print map { decode_mimewords($line)."\n" } @ARGV; === cut === Или вовсе в одну строчку: echo ...|perl -MMIME::Words=:all -ple '$_=decode_mimewords($_)' А вовсе не нижепроцитированный ужас на крыльях ночи. Это perl, а не Си, и не басик :)))) >> #!/usr/bin/perl -wT >> use strict; >> use MIME::Base64 qw//; >> >> die "Usage: $0 line0 <line1> ...\n" unless @ARGV; >> foreach my $line (@ARGV) { IA> $line =~ s/=\?(?:[^?]+)\?(B|Q)\?([^?]+)\?=/(uc($1) eq 'B') ? IA> MIME::Base64::decode($2) : IA> qp_decode($2)/egi; IA> print $line."\n"; >> } IA> sub qp_decode { IA> my $var = shift; IA> $var =~ s/_/ /g; IA> $var =~ s/=([0-9ABCDEF][0-9ABCDEF])/pack("H2", $1)/egi; IA> return $var; IA> }; >> >> </cut> >> >> <cut output> >> >> $ ./source.pl =?koi8-r?B?ZGZnZGZoICDUxc3B?= >> dfgdfh тема >> $ >> >> </cut> -- Yuriy Kaminskiy. PS --- Gnus v5.2.25/XEmacs 19.14 * Origin: none (2:5020/517.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1742795f0b2fa.html, оценка из 5, голосов 10
|