package Class::ForName;NNGLinux联盟 use strict;NNGLinux联盟 NNGLinux联盟 require Exporter;NNGLinux联盟 our @ISA = qw(Exporter);NNGLinux联盟 our @EXPORT_OK = qw();NNGLinux联盟 our @EXPORT=qw(newInstance);NNGLinux联盟 our %EXPORT_TAGS = (NNGLinux联盟 ALL => [@EXPORT, @EXPORT_OK],NNGLinux联盟 );NNGLinux联盟 NNGLinux联盟 sub newInstance{NNGLinux联盟 my ($ClassName, $Method, $Para)=@_;NNGLinux联盟 if (!defined($Method) or $Method eq "" ) {NNGLinux联盟 $Method="new($Para)"NNGLinux联盟 } else {NNGLinux联盟 $Method="$Method($Para)"NNGLinux联盟 }NNGLinux联盟 my $Object="null";NNGLinux联盟 eval("use $ClassName;");NNGLinux联盟 eval('$Object='."$ClassName->$Method");NNGLinux联盟 return $Object;NNGLinux联盟 }NNGLinux联盟 NNGLinux联盟 1;
|