Forum Webscript.Ru
Программирование => Perl => Тема начата: Forza от 28 Сентября 2004, 18:56:11
-
Предположим, я хочу вывести букву "я" через её код "& #1103;". При выводе кода в обыкновенном тексте - всё ок, при передаче строки с кодом в качестве параметра какой-либо функции в рез-те выводится этот же код:
#!c:/perl/bin/perl
use CGI qw(-no_xhtml :standard);
print header(), start_html();
print "я"; #напечатает букву "я"
print checkbox_group (-values => [ "я"]); #напечатает "я"
print end_html();
Это как-нибудь можно побороть?
-
Forza, не совсем понятно, что ты там хочешь увидеть...
print "я";
печатает тоже я Посмотри исходник страницы. А вот брауцзер эту последовательность изображет как букву я.
-
Я в обоих случаях на экране броузера хочу видеть букву "я", т.е. в хтмл-коде будет "& #1103;". В случае print "& #1103;" так и будет.
А если передавать через функцию, модуль Перла CGI.pm считает себя умным, думает, что я хочу вывести именно эти символы, и в хтмл-коде получается "& amp;#1103;", а на экране "& #1103;".
(везде после амперсандов пробелов быть недолжно),
-
# perl -MCGI -e \'print CGI->new->span("я");\'
я
#
-
arto:
-MCGI -e
Дело что ли в этих ключах? И как их использовать? Если их добавлять в конец строки #!c:/perl/bin/perl, то Перл всегда пишет ошибку компиляции, добавляю я оба или какой-либо один из них.
-
perldoc perlrun
-
Правильный ответ оказался autoEscape(0);