the following part of your code has "class-factory" written all over it in big flashing red letters:
# called with : mkBless(\$p->{Vcpeid}{$cpeid}, RepoVData->new); sub mkBless($;$) { my $targ = shift; if (@_) { ${$targ} = shift unless blessed $targ; } \$targ }
(btw i think you have errors in above code: shouldn't condition be: blessed $$targ and return $$targ ?)
Nothing fancy though:
# notice @ params: contails optional class name and any optional par +ams to new() sub mkBless($;@) { my $targ = shift; if (@_) { ${$targ} = shift->new(@_) unless blessed $$targ; } # you don't need to return anything, but if you must: $$targ; #\$targ } # example call: my $obj = mkBless(\$someotherobj, 'RepoVData', 1,2,3);
another observation: your code calls mkBless() with a newly created object which you discard if the 1st param is already blessed. That's a waste.
bw, bliako
In reply to Re: How to walk through convoluted data?
by bliako
in thread How to walk through convoluted data?
by perl-diddler
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |