Re: Strange behaviour of PL/Perl

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: Strange behaviour of PL/Perl
Дата
Msg-id 3A98C5FE.A7C9274F@archonet.com
обсуждение исходный текст
Ответ на Strange behaviour of PL/Perl  ("Andrey Y. Mosienko" <feo@ttn.ru>)
Список pgsql-general
"Andrey Y. Mosienko" wrote:
>
> Hello All!
>
> I just included PL/Perl language in my database.
> Created function:
>
> CREATE FUNCTION and_with_mask(int2, int2) RETURNS int2 AS
> '
> return $_[0] &
> $_[1]
> ' LANGUAGE 'plperl';

> select and_with_mask(32,1);
>  and_with_mask
> ---------------
>              1

> #!/usr/bin/perl
>     $val = 32 & 1;
>     print("val = $val\n");
>
> val = 0
>
> Where am I mistaken or something is in PL/Perl?

perl -e 'print ("32" & "1"),"\n"'

Values are being passed in as strings so perl is doing bitwise string
operation (perldoc perlop). Convert to numbers by doing +0 or similar.

- Richard Huxton

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Strange behaviour of PL/Perl
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: Request for thoughts...