Apache-Scriptor
view release on metacpan or search on metacpan
Scriptor.pm view on Meta::CPAN
{ my ($th)=@_;
# ðàñøèðåíèå ôàéëà
my ($ext) = $ENV{SCRIPT_FILENAME}=~m|\.([^.]*)$|; if(!defined $ext) { $ext=""; }
# âûáèðàåì ñïèñîê îáðàáîò÷èêîâ äëÿ ýòîãî ðàñøèðåíèÿ
$th->{Handlers}{$ext}
or die "$ENV{SCRIPT_NAME}: could not find handlers chain for extension \"$ext\"\n";
# âõîäíîé áóôåð (âíà÷àëå â íåì ñîäåðæèìîå ôàéëà, åñëè äîñòóïíî)
my $input="";
if(open(local *F, $ENV{SCRIPT_FILENAME})) { local ($/,$\); binmode(F); $input=<F>; }
# ïðîõîäèìñÿ ïî âñåì îáðàáîò÷èêàì
my $next=1; # íîìåð ñëåäóþùåãî îáðàáîò÷èêà
my @hands=@{$th->{Handlers}{$ext}};
NoAutoflush() if @hands>1;
foreach my $hand (@hands)
{ # Îáúåêò ïåðåíàïðàâëåíèÿ âûâîäà. Åñëè ó íàñ âñåãî îäèí îáðàáîò÷èê, òî
# ïåðåíàïðàâëÿòü âûâîä íå ïîòðåáóåòñÿ. Èíà÷å - ïîòðåáóåòñÿ, ÷òî è äåëàåòñÿ
my $OutObj=$hands[$next++]? CGI::WebOut->new : undef;
my $func=$hand; # óêàçàòåëü íà ôóíêöèþ
( run in 0.443 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )