powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Perl фунция
6 сообщений из 31, страница 2 из 2
Perl фунция
    #35203786
Garik888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я обнаружил, что в отправленных данных слеши не переводятся в формат типа \000. А при разборке файла функцией возникают двойные слеши из за которых и растет файл. Кто нибудь может помочь решить эту проблему?
...
Рейтинг: 0 / 0
Perl фунция
    #35203897
Garik888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал создать текстовый файл содержащий текст "привет\как\дела\?" при пересылке он выдавал мне вот что "привет\\как\\дела\\?".
Как можно переделать скриптик???
...
Рейтинг: 0 / 0
Perl фунция
    #35203966
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garik888Пробовал создать текстовый файл содержащий текст "привет\как\дела\?" при пересылке он выдавал мне вот что "привет\\как\\дела\\?".
Как можно переделать скриптик???добавить замену двух подряд идущих слэшей на один
...
Рейтинг: 0 / 0
Perl фунция
    #35204005
Garik888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeXa NalBat Garik888Пробовал создать текстовый файл содержащий текст "привет\как\дела\?" при пересылке он выдавал мне вот что "привет\\как\\дела\\?".
Как можно переделать скриптик???добавить замену двух подряд идущих слэшей на один
Это не поможет, т.к. там может быть и 2 и 100. Просто система рзборки в функции не справляется с разборкой, вот и возникают такие проблемы.
...
Рейтинг: 0 / 0
Perl фунция
    #35204087
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garik888Это не поможет, т.к. там может быть и 2 и 100.perl -e 'my $slash="\\"; my $foo=$slash x 100; printf "%d\n",length($foo); $foo=~s#\\\\#\\#g; printf "%d\n",length($foo);'
...
Рейтинг: 0 / 0
Perl фунция
    #35209056
Garik888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeXa NalBat Garik888Это не поможет, т.к. там может быть и 2 и 100.perl -e 'my $slash="\\"; my $foo=$slash x 100; printf "%d\n",length($foo); $foo=~s#\\\\#\\#g; printf "%d\n",length($foo);'
Это совсем не то что нужно.

После некоторых манипуляций получился вот такой скриптик, который и работает как надо.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or replace function save_file(filename text, data bytea)
returns void language plperlu as $body$
  use strict;
  my ($filename, $data) = @_;
 $data =~ s!\\\\!'\\'!eg;
$data =~ s!\\(\d{ 3 })! chr(oct($ 1 )) !eg;
  open my $f, '>', $filename or die "can't create file '$filename'";
  binmode $f;
  print $f $data;
  close $f;
$body$;
revoke execute on function save_file(filename text, data bytea) from public;
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Perl фунция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]