/usr/local/lib64/perl5/5.32/XML/LibXML
NameSizeModeActions
SAX/-0755rm
Attr.pod41210444editdlrm
AttributeHash.pm45740444editdlrm
Boolean.pm15800444editdlrm
CDATASection.pod13150444editdlrm
Comment.pod13960444editdlrm
Common.pm83580444editdlrm
Common.pod36720444editdlrm
Devel.pm51800444editdlrm
Document.pod216370444editdlrm
DocumentFragment.pod8190444editdlrm
DOM.pod63790444editdlrm
Dtd.pod20390444editdlrm
Element.pod138060444editdlrm
ErrNo.pm284800444editdlrm
ErrNo.pod5910444editdlrm
Error.pm86170444editdlrm
Error.pod61210444editdlrm
InputCallback.pod98220444editdlrm
Literal.pm20740444editdlrm
NamedNodeMap.pod16940444editdlrm
Namespace.pod33620444editdlrm
Node.pod263370444editdlrm
NodeList.pm74700444editdlrm
Number.pm18960444editdlrm
Parser.pod284530444editdlrm
Pattern.pod29750444editdlrm
PI.pod22710444editdlrm
Reader.pm58310444editdlrm
Reader.pod180230444editdlrm
RegExp.pod15740444editdlrm
RelaxNG.pod23980444editdlrm
SAX.pm35070444editdlrm
SAX.pod18040444editdlrm
Schema.pod22470444editdlrm
Text.pod56010444editdlrm
XPathContext.pm31800444editdlrm
XPathContext.pod119320444editdlrm
XPathExpression.pod16780444editdlrm
Edit: /usr/local/lib64/perl5/5.32/XML/LibXML/Number.pm (1896B)
# $Id$ # # This is free software, you may use it and distribute it under the same terms as # Perl itself. # # Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas # # package XML::LibXML::Number; use XML::LibXML::Boolean; use XML::LibXML::Literal; use strict; use warnings; our $VERSION = "2.0213"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, '0+' => \&value, '<=>' => \&cmp; sub new { my $class = shift; my $number = shift; if ($number !~ /^\s*(-\s*)?(\d+(\.\d*)?|\.\d+)\s*$/) { $number = undef; } else { $number =~ s/\s+//g; } bless \$number, $class; } sub as_string { my $self = shift; defined $$self ? $$self : 'NaN'; } sub as_xml { my $self = shift; return "" . (defined($$self) ? $$self : 'NaN') . "\n"; } sub value { my $self = shift; $$self; } sub cmp { my $self = shift; my ($other, $swap) = @_; if ($swap) { return $other <=> $$self; } return $$self <=> $other; } sub evaluate { my $self = shift; $self; } sub to_boolean { my $self = shift; return $$self ? XML::LibXML::Boolean->True : XML::LibXML::Boolean->False; } sub to_literal { XML::LibXML::Literal->new($_[0]->as_string); } sub to_number { $_[0]; } sub string_value { return $_[0]->value } 1; __END__ =head1 NAME XML::LibXML::Number - Simple numeric values. =head1 DESCRIPTION This class holds simple numeric values. It doesn't support -0, +/- Infinity, or NaN, as the XPath spec says it should, but I'm not hurting anyone I don't think. =head1 API =head2 new($num) Creates a new XML::LibXML::Number object, with the value in $num. Does some rudimentary numeric checking on $num to ensure it actually is a number. =head2 value() Also as overloaded stringification. Returns the numeric value held. =cut