Эти finalize()
функция является деструктором.
Однако это не должно обычно использоваться, потому что это вызывается после GC, и Вы не можете сказать, когда это произойдет (если когда-либо).
, Кроме того, требуется больше чем один GC для освобождения объектов, которые имеют finalize()
.
необходимо попытаться вымыться в логических местах в коде с помощью эти try{...} finally{...}
операторы!
с использованием HTML :: Mason :
<%perl>
use Date::Calc;
my @today = Date::Calc->Today();
my $str = "$today[0]-$today[1]-$today[2]";
</%perl>
<html>
<body>
Today is <%$str %>
</body></html>
Конфигурация Apache:
PerlModule HTML::Mason::ApacheHandler
<Location /usr/local/apache/htdocs/mason>
SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler
</Location>
Хотя вы можете встроить Perl непосредственно в файл Template Toolkit :
[% PERL %]
use Date::Calc;
my @today = Date::Calc->Today();
my $str = "$today[0]-$today[1]-$today[2]";
[% END %]
<html>
<body>
Today is [% $str %]
</body></html>
[% USE date %]
<html>
<body>
Today is [% date.format(date.now, format = '%d-%b-%Y') %]
</body></html>
Также есть EmbPerl, хотя он не слишком широко используется.
Синтаксис немного отличается, но именно такой подход используется в HTML :: Mason .
Лично я предпочитаю систему шаблонов, которая поощряет большее разделение кода и представления. Template Toolkit делает это, позволяя гибко делать практически все, что вы когда-либо захотите.