[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