[Moscow.pm] туплю с регуляркой , если кто знает , помогите плиз: как заменить бэкслэш на слэш?

Alexey Beshenov al на beshenov.ru
Чт Ноя 6 11:26:59 PST 2008


On Thursday 06 November 2008 22:07:13 Dmitry Arsentiev wrote:
> Считываю я из файла по рабоче-крестьянски. вот так:
> my @a = <F>;
> my $a = "@a";

Лучше задать соотв. значение $/ --- см. perldoc perlvar.

  my $a = do { local $/; <$f> };

Это если файл заведомо маленький...

> В итоге получаю весь текст из файла в интерполируемой строке.
> Вопрос: умеете ли вы как-то считывать весь файл в переменную,
> чтобы в этой переменной содержалась неинтерполируемая строка?
>
> Я не умею.

Вы ничего не путаете? Можно пример кода?

  $ cat -n test.txt
    1  image\101
    2  image\102
    3  image\103

  $ cat -n test.pl
    1  #!/usr/bin/perl
    2
    3  use Encode::Escape;
    4
    5  open my $f, '<', 'test.txt' or die;
    6  my $a = do { local $/; <$f> };  # Считать целиком!
    7
    8  print $a;
    9  print decode 'ascii-escape', $a;  # Раскрыть \xxx

  $ ./test.pl
  image\101
  image\102
  image\103

  imageA
  imageB
  imageC

-- 
Setting Orange, Aftermath 18 YOLD 3174
Alexey Beshenov  http://beshenov.ru/



Подробная информация о списке рассылки Moscow-pm