Bioperl-guts: Bug page - using the bug tracker
Steve A. Chervitz
sac@alberich.Stanford.EDU
Wed, 2 Sep 1998 12:53:10 -0700 (PDT)
Ewan has uncovered a bug cause by my recent AUTOLOADing trick
wherein I comment out the __END__ before the methods to be AUTOLOADed and
have the Makefile.PL uncomment it. The aim was to enable the modules to
be used as-is from the distribution without the need to autosplit, yet
still permit the make process to autosplit them for improved compiling
speed. The problem is that the pre-installation version of the module now
lacks an __END__ and there are comments at the bottom of the module
that are not enclosed in POD commands (!). I'll fix this and upload a new
version.
How do people feel about AUTOLOADing? AUTOLOADing is great but does add
complexity. I started using it on my version of PreSeq.pm so that you
don't have to always load code for parsing & outputing every format when
all you want is raw sequence. I've been debating whether to use the standard
AUTOLOADing technique or to adopt the strategy Lincoln uses in CGI.pm or to
just not AUTOLOAD at all.
My OO-sense tells me that having lots of AUTOLOADed methods signals the need
for a separate module(s) for these methods. Separate modules would not
be as efficient since you would load *all* methods of the other module,
not single methods as needed, as AUTOLOADing permits. It may not always
make sense to form separate modules, and, as people have mentioned,
single modules can be more practical than collections (CGI.pm vs. CGI::*).
If people want to have monolothic modules, they should endeavor to make
them efficient. Perl's AUTOLOADing capability is novel and I think can be
used effectively. The question is: what's the best way to use it and do
we want to have a consistent Bioperl AUTOLOADing strategy?
Steve Chervitz
sac@genome.stanford.edu
On Wed, 2 Sep 1998, Ewan Birney wrote:
>
> Ok. I am *seriously* editing the Seq.pm I've just committ'd
> my changes but I can't compile due to an error (I think!) in
> Bio::Object.pm - I guess one for sac (?) - or am I missing
> something?
>
>
> Here's the report
>
> ics1d:[/prog/bioperl]<157>: perl -c Bio/Seq.pm
> Bareword "_name" not allowed while "strict subs" in use at
> Bio/Root/Object.pm line 2572.
> Bareword "Common" not allowed while "strict subs" in use at
> Bio/Root/Object.pm line 2572.
> Bareword found where operator expected at Bio/Root/Object.pm line 2572,
> near "Common name"
> (Do you need to predeclare Common?)
> Missing $ on loop variable at Bio/Root/Object.pm line 2572.
> BEGIN failed--compilation aborted at Bio/Seq.pm line 97.
>
> I've put this into the jitterbug bug tracker as well.
>
> Chris - can we get jitterbug to automatically mail this list
> when a bug gets in (again - this is what perl5porters have)
>
>
> Ewan Birney
> <birney@sanger.ac.uk>
> http://www.sanger.ac.uk/Users/birney/
>
> =========== Bioperl Project Mailing List Message Footer =======
> Project URL: http://bio.perl.org
> For info about how to (un)subscribe, where messages are archived, etc:
> http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl-guts.html
> ====================================================================
>
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl-guts.html
====================================================================