# # This is a stub class for more complex JS*ArrayParser objects. # It's new() method usually does _not_ return an object of # type videosite::JSArrayParser, but rather a child object of itself # which is able to do some actual work. The only time new() retuns # an videosite::JSArrayParser onject is when no child objects are # available. # package videosite::JSArrayParser; use strict; sub new { my $class = shift; my %params = @_; my $self = {}; if ($class ne __PACKAGE__) { # We were called from a child object. Return ourselves. return bless($self, $class); } # Try to find a child object which is available and return that. require videosite::JSJSONArrayParser; return videosite::JSJSONArrayParser->new(%params); } sub parse { my $self = shift; # No functionality here return undef; } 1;