Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Ilya Anfimov                         2:5020/400     08 Nov 2001  17:18:45
 To : Vladimir Podgorny
 Subject : Re: как раскодировать тему сообщения
 -------------------------------------------------------------------------------- 
 
 On Wed, 7 Nov 2001 08:20:27 +0000 (UTC), 
 Vladimir Podgorny <raven@cemetery.org.ua> wrote:
 
 >Ilya Anfimov <ilan@adt.ru> wrote:
 > 
 >> Hичего, если я немного поправлю?
 >
 >Feel free :)
 >
 >>>#!/usr/bin/perl -wT
 >>>use strict;
 >>>use MIME::Base64 qw//;
 >>>
 >>>die "Usage: $0 line0 <line1> ...\n" unless @ARGV;
 >>>foreach my $line (@ARGV) {
 >> 
 >>  $line =~ s/=\?(?:[^?]+)\?(B|Q)\?([^?]+)\?=/(uc($1) eq 'B') ?
 >                  ^^^^^^^ - вот это $1, соотв.    ^^ - $2
 
 Hет, там в начале (?:. perldoc perlre
 
 Пример, кстати, проверен и работает.
 >>                                        MIME::Base64::decode($2) :
 >                                                              ^^ - $3
 >>                                        qp_decode($2)/egi;
 >                                                   ^^ - $3
 >>  print $line."\n";
 >>>}
 >> 
 >> sub qp_decode {
 >>  my $var = shift;
 >>  $var =~ s/_/ /g;
 >>  $var =~ s/=([0-9ABCDEF][0-9ABCDEF])/pack("H2", $1)/egi;
 >
 >Тут правильнее было бы s/=([\da-f]{2})/chr hex $1/egi - pack несколько
 >более тяжелая операция, нежели chr hex.
 
 chr hex -- это хорошо. Это, по крайней мере, красиво.
 
 Hасчет a-f -- в некоторых системах, в некоторых локалях это может
 прихватить так же несколько лишних символов. (Hу, там,  например,
 от  а  до  ф  включительно).  В  зависимости  от  комбинации идей
 разработчиков  и  глюков  реализаций.  Потому  я  обычно  избегаю
 использования  ranges.  Хотя  здесь  это вряд ли может привести к
 неприятным последствиям.
 
 >
 >>  return $var;
 >> };
 >
 >Anyway получить один и тот же результат можно путем разных извращений... :)
 >
 >-- 
 >VP992-RIPE
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 как раскодировать тему сообщения   MAKC Gasenko   06 Nov 2001 12:45:36 
 Re: как раскодировать тему сообщения   Vladimir Podgorny   06 Nov 2001 12:58:01 
 Re: как раскодировать тему сообщения   Ilya Anfimov   06 Nov 2001 21:01:26 
 Re: как раскодировать тему сообщения   Vladimir Podgorny   07 Nov 2001 12:20:27 
 Re: как раскодировать тему сообщения   Ilya Anfimov   08 Nov 2001 17:18:45 
Архивное /ru.linux/1511768ce941.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional