This is a bit weird. Im trying to eval the following:
print $self->basic_tag(q~css_url~);
print q~/ssql.css" TITLE="css" TYPE="text/css">~;
...that code is stored in $eval and I'm using:
my $code = eval "sub { $eval };"
return $code->($self);
....to compile the code, yet it goes into an eternal loop and I can't figure out why. If I use:
....it works fine.
basic_tag() looks like:
#----------------------------------------------------------
# Parse basic tags.
my $self = shift;
my $tag = shift;
# A normal tag.
return exists $self->{TAGS}->{$tag} ?
$self->{TAGS}->{$tag} :
exists $self->{GLB} ->{$tag} ?
$self->{GLB} ->{$tag} : sprintf($ERRORS->{UNKNOWN}, $tag);
}
Code:
print q<LINK REL="StyleSheet" HREF="~; print $self->basic_tag(q~css_url~);
print q~/ssql.css" TITLE="css" TYPE="text/css">~;
...that code is stored in $eval and I'm using:
Code:
my $self = shift; my $code = eval "sub { $eval };"
return $code->($self);
....to compile the code, yet it goes into an eternal loop and I can't figure out why. If I use:
Code:
print $self->basic_tag(q~css_url~);....it works fine.
basic_tag() looks like:
Code:
sub basic_tag { #----------------------------------------------------------
# Parse basic tags.
my $self = shift;
my $tag = shift;
# A normal tag.
return exists $self->{TAGS}->{$tag} ?
$self->{TAGS}->{$tag} :
exists $self->{GLB} ->{$tag} ?
$self->{GLB} ->{$tag} : sprintf($ERRORS->{UNKNOWN}, $tag);
}