Lines Matching refs:frame

130     my $frame = {
136 $frame->{buffer} = \$buffer if delete $frame->{private};
137 $frame->{length} = (defined ${$frame->{buffer}}) ? CORE::length(${$frame->{buffer}}) : 0
138 if $self->{use_length} or $frame->{use_length};
139 $frame->{pre_filter} = $frame->{filter} ? \$filter : $frame->{buffer};
140 $self->{top} = $frame;
141 local $self->{local_frame} = $frame;
142 $self->set_pre_append(delete $frame->{pre_append}) if defined $frame->{pre_append};
143 CORE::push(@{$self->{stack}}, $frame);
173 my $frame = $self->{local_frame} || $self->{top};
174 if ($frame) {
175 my $ref = $frame->{pre_filter};
176 if (exists $self->{pre_appends}{$frame->{buffer}} and not $frame->{filter}) {
178 for my $frame (@{$self->{pre_appends}{$frame->{buffer}}}) {
179 die unless $frame->{pre_append};
180 local $self->{local_frame} = $frame;
181 $frame->{pre_append}->($self, @_);
207 my $frame = $self->{local_frame} || $self->{top};
208 my $ref = $frame ? $frame->{buffer} : $self->{output};
234 my $frame = CORE::pop(@{$self->{stack}});
235 local $self->{local_frame} = $frame;
238 return ${$frame->{buffer}};
253 my $frame = $self->{local_frame} || $self->{top};
254 return unless $frame;
255 if ($hook and not $frame->{pre_append}) {
256 CORE::push(@{$self->{pre_appends}{$frame->{buffer}}}, $frame);
257 } elsif (not $hook and $frame->{pre_append}) {
258 $self->{pre_appends}{ $frame->{buffer} }
259 = [ grep { $_ ne $frame } @{ $self->{pre_appends}{ $frame->{buffer} } } ];
260 delete $self->{pre_appends}{ $frame->{buffer} }
261 unless @{ $self->{pre_appends}{ $frame->{buffer} } };
263 $frame->{pre_append} = $hook;
299 my $frame = shift || $self->{top};
300 return unless $frame and $frame->{filter} and CORE::length(${$frame->{pre_filter}});
304 my $input = ${$frame->{pre_filter}};
305 ${$frame->{pre_filter}} = '';
306 my $output = $frame->{filter}->($input);
307 if (exists $self->{pre_appends}{$frame->{buffer}}) {
308 for my $frame (@{$self->{pre_appends}{$frame->{buffer}}}) {
309 local $self->{local_frame} = $frame;
310 $frame->{pre_append}->($self, $output);
313 ${$frame->{buffer}} .= $output;
341 for my $frame (reverse @{$self->{stack}}) {
342 $self->filter($frame);