package HTML::Template::Extension::IF_TERN; $VERSION = "0.24"; sub Version { $VERSION; } use Carp; use strict; my %fields_parent = ( ); sub init { my $self = shift; while (my ($key,$val) = each(%fields_parent)) { $self->{$key} = $self->{$key} || $val; } } sub push_filter { my $self = shift; push @{$self->{filter_internal}},@{_get_filter($self)}; } sub _get_filter { my $self = shift; my @ret ; push @ret,\&_if_tern; return \@ret; } sub _if_tern { my $template = shift; my $re_var = q{\%(\S+?)\?(.*?)(\:(.*?))?\%}; $$template =~ s{$re_var}{ my $replace = qq{$2}; if (defined $3) { $replace .= qq{$4}; } else { $replace .= q{}; } $replace; }gse; return $$template; } 1;