HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/root/usr/share/perl5/XML/XPathEngine/Variable.pm
# $Id: Variable.pm,v 1.5 2001/03/16 11:10:08 matt Exp $

package XML::XPathEngine::Variable;
use strict;

# This class does NOT contain 1 instance of a variable
# see the XML::XPathEngine::Parser class for the instances
# This class simply holds the name of the var

sub new {
    my $class = shift;
    my ($pp, $name) = @_;
    bless { name => $name, path_parser => $pp }, $class;
}

sub as_string {
    my $self = shift;
    '\$' . $self->{name};
}

sub as_xml {
    my $self = shift;
    return "<Variable>" . $self->{name} . "</Variable>\n";
}

sub get_value {
    my $self = shift;
    $self->{path_parser}->get_var($self->{name});
}

sub set_value {
    my $self = shift;
    my ($val) = @_;
    $self->{path_parser}->set_var($self->{name}, $val);
}

sub evaluate {
    my $self = shift;
    my $val = $self->get_value;
    return $val;
}

1;