# $Header: /home/fergal/my/cvs/Code-Perl/lib/Code/Perl/Expr/Constant.pm,v 1.2 2003/06/17 18:37:21 fergal Exp $ use strict; package Code::Perl::Expr::Constant; use base 'Code::Perl::Expr::Base'; use Class::MethodMaker ( get_set => [qw( -java Value )] ); sub eval { my $self = shift; return $self->getValue; } my %esc = ( "\\" => "\\\\", "\n" => "\\n", "\r" => "\\r", '"' => '\\"', '$' => '\\$', '@' => '\\@', ); sub getQuotedValue { my $self = shift; my $value = $self->{Value}; if (1) { $value =~ s/([\\\n\r"\$\@])/$esc{$1}/g; return '"'.$value.'"'; } else { return '"'.quotemeta($self->{Value}).'"'; } } 1;