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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Grigoryev                      2:462/177.10   29 Aug 2002  01:14:08
 To : All
 Subject : n-bytes symbols
 -------------------------------------------------------------------------------- 
 
 Activestate perl v5.6.1
 Имеется файл test.txt с таким текстом:
 *****************************begin******************************
 ( 1 , 2 ) =>...0.B.0
 ( 2 , 0 ) =>...5.G.5.@.8.=.:.0   "...;.8.1.8   P a r t y " .
 ...K.A.B.C.?.;.5.=.8.5  ...8.<.K  ...;.8.<.0.H.5.=.:.>  .8  .3.@.C.?.?.K
 "...;.8.1.8 "
 *****************************end********************************
 Хочу перл скриптом убрать все "левые" (больше чем один байт) символы. Кроме
 такого пока ничего не смог придумать:
 $file='test.txt';
 $file1='test3.txt';
 my $symbol= q{
 [\x00-\xFF]  #(один байт/символ)
 };
 open(F,"<$file")|| die "Cannot open $file $!\n";
 open(G,">$file1")|| die "Cannot open $file1 $!\n";
 binmode(F) || die "Cannot binmode $file $!\n";
 @D=<F>;
 foreach(@D)
  {
   @chars = /$symbol/gox;
   for my $char (@chars) 
     { 
     if (length($char) == 1) {print G $char; print $char;} #вывод на экран и в
 файл
     }
   } 
   close(F);
   close(G);
 
 В итоге файл test3.txt содержит:
 *****************************begin******************************
 ( 1 , 2 ) =>...0.B.0
 ( 2 , 0 ) =>...5.G.5.@.8.=.:.0   "...;.8.1.8   P a r t y " .
 ...K.A.B.C.?.;.5.=.8.5  ...8.<.K  ...;.8.<.0.H.5.=.:.>  .8  .3.@.C.?.?.K
 "...;.8.1.8 "
 *****************************end********************************
 те же символы что и раньше.
 Без binmode файл не читается даже до конца что делает невозможным дальнейшую
 обработку.
 Как все таки удалить "левые" символы ?
 --- WP/95 Rel 1.78E (215.0) Reg.
  * Origin: /          '          Exit          '          / (2:462/177.10)
 
 

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

 Тема:    Автор:    Дата:  
 n-bytes symbols   Maxim Grigoryev   29 Aug 2002 01:14:08 
Архивное /ru.perl/3310bbda1203.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional