From rjbs-perl-abe at lists.manxome.org Thu Jul 1 17:57:02 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code Message-ID: <20040701185701.B26206@manxome.org> Anybody up to anything exciting? I've actually been writing code, which is nice. That is, I'm not just doing crappy work code that's all about fixing employment records or automating finance reports. Yay! * http://search.cpan.org/~rjbs/Acme-ProgressBar-1.001/ As I threatened to do at YAPC, I released Acme::ProgressBar, and it works as described. Someone told me he was going to write Acme::ProgressBar::Simple, which is a frightening idea. * http://search.cpan.org/~rjbs/Date-Span-1.004/ I got this stupid code broken out into its own module. It breaks long time spans into little ones. Man, I cannot TELL you how much I sufferred back when I was dumb and trying to write this report to take a lot of "begintime, finishtime, event" reports that gave me daily event-time. It kinda worked. Then I saw how the UK office did it; it was /horrifying/ and bad. So, finally I write something better, and this was the best general purpose thing I could get out of it. Meh. * http://search.cpan.org/~rjbs/List-MapList-1.004/ This is also kinda... well, dumb. But fun. I'm having fun finding ways to abuse it. It's like map, but it cycles through a list of subs, instead of using one block. My favorite dumb use, so far, is the partial rot13 example in the docs. * http://search.cpan.org/~rjbs/Number-Tolerant-1.006/ This is what I really wanted to say "hey lookee!" about, though. I'm using it at work -- well, I'm not, but I plan to. It shoves values like "5 +/- 1.5" into a scalar and it acts like a number. Mostly. Kinda. It's my first time playing around much with overload.pm, except for a few little things here and there fixing boolean or stringificaiton. Fun, but complicated, stuff! Testing it was a pain, once I realized it mattered that argument order wasn't guaranteed... Anyway, that's what I've been coding lately. How about everybody else? Life staying interesting? Any suggestions for the topic for our meeting on the 12th? -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040701/f9b589fe/attachment.bin From sol0 at lehigh.edu Sun Jul 4 21:02:05 2004 From: sol0 at lehigh.edu (Lidie Steve) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code In-Reply-To: <20040701185701.B26206@manxome.org> References: <20040701185701.B26206@manxome.org> Message-ID: <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> On Jul 1, 2004, at 6:57 PM, Ricardo SIGNES wrote: > Anybody up to anything exciting? > > I've actually been writing code, which is nice. That is, I'm not just > doing crappy work code that's all about fixing employment records or > automating finance reports. Yay! > > * http://search.cpan.org/~rjbs/Acme-ProgressBar-1.001/ OK, you asked for it! 1) request an example that one can run before installation 2) so I came up with this: perl -Mblib -e 'use Acme::ProgressBar; progress {sleep 5}' it took 47 seconds to execute, so I am confused although all being equal I would have tought this would have performed similarly: perl -Mblib -e 'progress {sleep 5}' but it didn't compile > > As I threatened to do at YAPC, I released Acme::ProgressBar, and it > works as described. Someone told me he was going to write > Acme::ProgressBar::Simple, which is a frightening idea. always willing to stress test someone else's code ... From rjbs-perl-abe at lists.manxome.org Sun Jul 4 21:25:16 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code In-Reply-To: <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> Message-ID: <20040704222516.L26206@manxome.org> * Lidie Steve [2004-07-04T22:02:05] > On Jul 1, 2004, at 6:57 PM, Ricardo SIGNES wrote: > > > >I've actually been writing code, which is nice. That is, I'm not just > >doing crappy work code that's all about fixing employment records or > >automating finance reports. Yay! > > 1) request an example that one can run before installation > > 2) so I came up with this: > > perl -Mblib -e 'use Acme::ProgressBar; progress {sleep 5}' > > it took 47 seconds to execute, so I am confused I have uploaded Acme::ProgressBar 1.003, which fixes this problem. I am dumb! I had a base iteration (run and time the code) and then the delays and message updates. For some reason, I only delayed and updated eight times, when I clearly needed nine. Thanks for reminding me that we use base ten here on Earth. > although all being equal I would have tought this would have performed > similarly: > > perl -Mblib -e 'progress {sleep 5}' Nope! -Mblib will only find blib and put it into your path. It won't actually use the code in there. So, this would've worked: perl -Mblib -MAcme::ProgressBar -e'progress {sleep 5}' I never use blib, for no good reason. I always use -I lib, since it saves me having to 'make' before testing. -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040704/e0479b32/attachment.bin From sol0 at lehigh.edu Sun Jul 4 21:44:58 2004 From: sol0 at lehigh.edu (Lidie Steve) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code In-Reply-To: <20040704222516.L26206@manxome.org> References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> <20040704222516.L26206@manxome.org> Message-ID: <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> On Jul 4, 2004, at 10:25 PM, Ricardo SIGNES wrote: > * Lidie Steve [2004-07-04T22:02:05] >> On Jul 1, 2004, at 6:57 PM, Ricardo SIGNES wrote: >>> >>> I've actually been writing code, which is nice. That is, I'm not >>> just >>> doing crappy work code that's all about fixing employment records or >>> automating finance reports. Yay! >> >> 1) request an example that one can run before installation >> >> 2) so I came up with this: >> >> perl -Mblib -e 'use Acme::ProgressBar; progress {sleep 5}' >> >> it took 47 seconds to execute, so I am confused > > I have uploaded Acme::ProgressBar 1.003, which fixes this problem. I > am > dumb! > > I had a base iteration (run and time the code) and then the delays and > message updates. For some reason, I only delayed and updated eight > times, when I clearly needed nine. Thanks for reminding me that we use > base ten here on Earth. I saw good sig recently: > -- > There are 10 kinds of people in the world: > those who understand binary, and those who don't. > > Tom Stiller Then again, I've always been an octal kind of hacker, but that's still just another kind of binary. > >> although all being equal I would have tought this would have performed >> similarly: >> >> perl -Mblib -e 'progress {sleep 5}' > > Nope! -Mblib will only find blib and put it into your path. It won't > actually use the code in there. So, this would've worked: > > perl -Mblib -MAcme::ProgressBar -e'progress {sleep 5}' But it always works for *my* modules ;) (and typically others!). Then again, they're mostly Tk modules. > > I never use blib, for no good reason. I always use -I lib, since it > saves me having to 'make' before testing. > Do not grok, grasshopper. For brevity this always works for me: perl Makefile.PL make test perl -Mblib examples/progress1.pl ;) bug From rjbs-perl-abe at lists.manxome.org Sun Jul 4 21:55:07 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code In-Reply-To: <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> <20040704222516.L26206@manxome.org> <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> Message-ID: <20040704225507.M26206@manxome.org> * Lidie Steve [2004-07-04T22:44:58] > I saw good sig recently: > > >There are 10 kinds of people in the world: > >those who understand binary, and those who don't. I saw that on a t-shirt once. :) > Then again, I've always been an octal kind of hacker, but that's still > just another kind of binary. I've never been good at doing octal in my head. Binary, hex, and decimal work out, and beyond that I get confused. > >Nope! -Mblib will only find blib and put it into your path. It won't > >actually use the code in there. So, this would've worked: > > > > perl -Mblib -MAcme::ProgressBar -e'progress {sleep 5}' > > But it always works for *my* modules ;) (and typically others!). Then > again, they're mostly Tk modules. Well, there's two ways to guess at why that worked! One is that Tk automatically requires modules as needed. (I'm guessing, but it seems reasonable.) That is, you say something like $window->addWidget('Mirror') and it goes and requires Tk::Widget::Mirror. Since you've used blib, it knows to look for that in blib, so it finds it. As for the other... > >I never use blib, for no good reason. I always use -I lib, since it > >saves me having to 'make' before testing. > > > > Do not grok, grasshopper. > > For brevity this always works for me: > > perl Makefile.PL > make test > perl -Mblib examples/progress1.pl Aha! So you're using blib and then running a script... but that script, surely, has 'use Your::Code' in it, so it knows where to find stuff. So, it's like saying -Mblib -MYour::Code -I lib adds "lib" to the @INC path. -Mblib looks through directories under . trying to find one named blib, and when it does, it adds it to the @INC path. That's all. So, the modules you need still need to be required/used elsewhere. Code only gets put into blib when you run make. I usually leave my code sitting in lib for casual testing, of which I do a lot, since it saves me a step of 'make'-ing and I can just run the tests I care about with the 'prove' program from Test-Harness. -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040704/68d39328/attachment.bin From sol0 at lehigh.edu Sun Jul 4 22:30:53 2004 From: sol0 at lehigh.edu (Lidie Steve) Date: Mon Aug 2 21:22:50 2004 Subject: [ABE.pm] recent code In-Reply-To: <20040704225507.M26206@manxome.org> References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> <20040704222516.L26206@manxome.org> <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> <20040704225507.M26206@manxome.org> Message-ID: On Jul 4, 2004, at 10:55 PM, Ricardo SIGNES wrote: > * Lidie Steve [2004-07-04T22:44:58] > >>> Nope! -Mblib will only find blib and put it into your path. It >>> won't >>> actually use the code in there. So, this would've worked: >>> >>> perl -Mblib -MAcme::ProgressBar -e'progress {sleep 5}' >> >> But it always works for *my* modules ;) (and typically others!). Then >> again, they're mostly Tk modules. > > Well, there's two ways to guess at why that worked! One is that Tk > automatically requires modules as needed. (I'm guessing, but it seems > reasonable.) That is, you say something like Well, it can/does if it's installed, but not otherwise. Nick is very clever. > $window->addWidget('Mirror') and it goes and requires > Tk::Widget::Mirror. Since you've used blib, it knows to look for that > in blib, so it finds it. > > As for the other... > >>> I never use blib, for no good reason. I always use -I lib, since it >>> saves me having to 'make' before testing. >>> >> >> Do not grok, grasshopper. >> >> For brevity this always works for me: >> >> perl Makefile.PL >> make test >> perl -Mblib examples/progress1.pl > > Aha! So you're using blib and then running a script... but that > script, > surely, has 'use Your::Code' in it, so it knows where to find stuff. > So, it's like saying -Mblib -MYour::Code But of course. That way my examples run before installation if invoked in the installation directory with -Mblib, else anywhere after installation, without a code change, so the user has a fully functional example. > > -I lib adds "lib" to the @INC path. -Mblib looks through directories > under . trying to find one named blib, and when it does, it adds it to > the @INC path. That's all. So, the modules you need still need to be > required/used elsewhere. > > Code only gets put into blib when you run make. I usually leave my > code > sitting in lib for casual testing, of which I do a lot, since it saves > me a step of 'make'-ing and I can just run the tests I care about with > the 'prove' program from Test-Harness. > I grok now. And I just repeat a "make; perl -Mblib examples.frog.pl" ... interesting. From sol0 at lehigh.edu Sun Jul 4 22:35:58 2004 From: sol0 at lehigh.edu (Lidie Steve) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] ACME::RoadRunner In-Reply-To: References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> <20040704222516.L26206@manxome.org> <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> <20040704225507.M26206@manxome.org> Message-ID: <6DD12E34-CE34-11D8-9B6B-00039366E622@lehigh.edu> BTW, I'm still waiting for this gem ... From rjbs-perl-abe at lists.manxome.org Mon Jul 5 07:44:11 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] ACME::RoadRunner In-Reply-To: <6DD12E34-CE34-11D8-9B6B-00039366E622@lehigh.edu> References: <20040701185701.B26206@manxome.org> <502979E8-CE27-11D8-BE17-00039366E622@lehigh.edu> <20040704222516.L26206@manxome.org> <4DDFFA80-CE2D-11D8-BE17-00039366E622@lehigh.edu> <20040704225507.M26206@manxome.org> <6DD12E34-CE34-11D8-9B6B-00039366E622@lehigh.edu> Message-ID: <20040705084411.N26206@manxome.org> * Lidie Steve [2004-07-04T23:35:58] > BTW, I'm still waiting for this gem ... I'll pester bda again! -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040705/cd1db668/attachment.bin From rjbs-perl-abe at lists.manxome.org Sun Jul 11 22:34:07 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] july meeting! Message-ID: <20040711233407.K25469@manxome.org> So, as I'm sure everyone's personal assistant has pointed out, tomorrow is our July meeting! Who's in? I was hoping we could talk about at least one or two things on my personal list, and I imagine y'all might have things on your own. On mine: * I'd like to chat about a syllabus for the Perl Crash Course for LVLUG. * I want to show off Module::Starter, which I finished a lot of work on, this weekend. * I have other little ideas in my head about crap at work that people might have thoughts on. * Let's get some beer. That's all! All good? -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040711/a3cc93e0/attachment.bin From phil at five-lawrences.com Mon Jul 12 13:39:08 2004 From: phil at five-lawrences.com (Phil Lawrence) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] july meeting! In-Reply-To: <20040711233407.K25469@manxome.org> References: <20040711233407.K25469@manxome.org> Message-ID: <40F2DACC.9070800@five-lawrences.com> Ricardo SIGNES wrote: > So, as I'm sure everyone's personal assistant has pointed out, tomorrow > is our July meeting! Who's in? Sorry, I'm out. I need to remediate some roof gutter and other water drainage problems after work tonight. And the rains not gonna let up for a while... Phil From rjbs-perl-abe at lists.manxome.org Mon Jul 12 13:51:06 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] july meeting! In-Reply-To: <40F2DACC.9070800@five-lawrences.com> References: <20040711233407.K25469@manxome.org> <40F2DACC.9070800@five-lawrences.com> Message-ID: <20040712145106.O25469@manxome.org> * Phil Lawrence [2004-07-12T14:39:08] > Sorry, I'm out. I need to remediate some roof gutter and other water > drainage problems after work tonight. And the rains not gonna let up > for a while... Doh, bummer! Who's sure to come? Steve? Jim? -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040712/ca3832c8/attachment.bin From sol0 at lehigh.edu Mon Jul 12 14:37:36 2004 From: sol0 at lehigh.edu (Lidie Steve) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] july meeting! In-Reply-To: <20040712145106.O25469@manxome.org> References: <20040711233407.K25469@manxome.org> <40F2DACC.9070800@five-lawrences.com> <20040712145106.O25469@manxome.org> Message-ID: On Jul 12, 2004, at 2:51 PM, Ricardo SIGNES wrote: > * Phil Lawrence [2004-07-12T14:39:08] >> Sorry, I'm out. I need to remediate some roof gutter and other water >> drainage problems after work tonight. And the rains not gonna let up >> for a while... > > Doh, bummer! Who's sure to come? Steve? Jim? > not I said the dog, sorry ... From jce0 at Lehigh.EDU Mon Jul 12 14:39:23 2004 From: jce0 at Lehigh.EDU (Jim Eshleman) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] july meeting! In-Reply-To: <20040712145106.O25469@manxome.org> References: <20040711233407.K25469@manxome.org> <40F2DACC.9070800@five-lawrences.com> <20040712145106.O25469@manxome.org> Message-ID: <40F2E8EB.6010500@Lehigh.EDU> >>Sorry, I'm out. I need to remediate some roof gutter and other water >>drainage problems after work tonight. And the rains not gonna let up >>for a while... > > > Doh, bummer! Who's sure to come? Steve? Jim? Not I this time. Jim From rjbs-perl-abe at lists.manxome.org Mon Jul 12 14:58:16 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] no july meeting! Message-ID: <20040712155816.P25469@manxome.org> Well, with no Phil, no Steve, and no Jim, I think it may be safest to just say no meeting. If anyone wants to grab a beer and talk about Perl, drop me a line! -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040712/0af6004c/attachment.bin From rjbs-perl-abe at lists.manxome.org Thu Jul 22 08:29:01 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] Devel::Cover Message-ID: <20040722092901.H25469@manxome.org> I kept hearing people on qa.perl.org's mailing list talking about Devel::Cover, and I'd seen its output, and it seemed neat. So, this morning I installed it and ran it against Number::Tolerant. WOW! I've fixed at least a dozen obscure bugs that were just waiting to come out of the woodwork. Devel::Cover works like a debugger backend, called with -D. It keeps track of everything your program does and compares it to everything it /could have/ done. So, it tells you whether every "if" gets run through both ways, it tells you whether every || is branched properly. It tests for statement coverage, branch coverage, condition coverage, sub call coverage, and even POD coverage (using, I assume, Pod::Coverage.) Then it produces a lovely HTML report showing you how you've done. While I doubt I'll use this as extensively as some people suggest, I've found enough bugs in an hour to start using it pretty extensively. Have a look! :) -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040722/4965c60c/attachment.bin From phil at five-lawrences.com Tue Jul 27 09:11:44 2004 From: phil at five-lawrences.com (Phil Lawrence) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] web page testing Message-ID: <410662A0.9090704@five-lawrences.com> I wrote a little script to test a web app I'm taking over from a co-worker... It logs on, navigates the pages until it arrives at the first page of my application. Very cool. Thanks to Andy Lester for WWW::Mechanize! However, I wonder about the best organization of my tests. There are at least three web forms, each with modify, delete, etc. functionality. Already, with just the sign on and intro navigation, the script seems... disorderly. Well, at least not packaged very tightly. (I'll send it to anyone who wants to comment.) So, what's a good way to organize the tests? One test script per page? One per page functionality? What about the fact that I can't test things in isolation? I have to log on before I can test anything, and a lot of functionality is context driven, i.e. what I did on the page before. Thanks for any thoughts, Phil From phil at five-lawrences.com Wed Jul 28 08:17:35 2004 From: phil at five-lawrences.com (Phil Lawrence) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] Re: web page testing In-Reply-To: <20040727164407.A1503@manxome.org> References: <410662A0.9090704@five-lawrences.com> <20040727102617.X25469@manxome.org> <410671FC.7070604@five-lawrences.com> <20040727164407.A1503@manxome.org> Message-ID: <4107A76F.7090509@five-lawrences.com> Cc: ABE.pm Cc: Philly.pm Ricardo SIGNES wrote: > * Phil Lawrence > >>Anyway, why not have: >>./t >>./t/modules >>./t/modules/login.pm >>[ ... ] > > > ...why not indeed? :) That's probably what I'd do, if I had > a lot of repeated stuff, too. Here's why not: I can't use Test::More from within those modules, because I already used it in the ./t/test_driver.pl script! :-( I wasted yesterday looking for a way to do this, and the best I could do by 5:00 was find references to Test::Builder, whose constructor returns singletons. I think this may help, but I'm not sure about implementation. Ideas? Basically, I need the ability to write tests into each module. The last thing I tried was to subclass Test::More thusly: package T::Test; use warnings; use strict; use Test::More qw(no_plan); sub new { bless {} => shift() } 1; and in ./t/test_driver.pl: use T::Test; my $t = T::Test->new; $t->require_ok( 'Term::Interact' ); If this worked, I thought I could pass $t to all the different testing modules I use from the driver script. But no dice: $ ./t/test.pl not ok 1 - require T::Test=HASH(0x81392a0); # Failed test (./t/test.pl at line 11) # Tried to require 'T::Test=HASH(0x81392a0)'. # Error: Can't modify require in scalar assignment at (eval 2) line 2, at EOF 1..1 # Looks like you failed 1 tests of 1. This may be related to Test::Builder's export_to_level method, I don't know. I'm not thinking clearly about this... Phil From rjbs-perl-abe at lists.manxome.org Wed Jul 28 10:01:08 2004 From: rjbs-perl-abe at lists.manxome.org (Ricardo SIGNES) Date: Mon Aug 2 21:22:51 2004 Subject: [ABE.pm] Re: web page testing In-Reply-To: <4107A76F.7090509@five-lawrences.com> References: <410662A0.9090704@five-lawrences.com> <20040727102617.X25469@manxome.org> <410671FC.7070604@five-lawrences.com> <20040727164407.A1503@manxome.org> <4107A76F.7090509@five-lawrences.com> Message-ID: <20040728110108.C1503@manxome.org> * Phil Lawrence [2004-07-28T09:17:35] > Ricardo SIGNES wrote: > >* Phil Lawrence > > > >>Anyway, why not have: > >>./t > >>./t/modules > >>./t/modules/login.pm > >>[ ... ] > > > >...why not indeed? :) That's probably what I'd do, if I had > > a lot of repeated stuff, too. > > Here's why not: I can't use Test::More from within those modules, > because I already used it in the ./t/test_driver.pl script! :-( Ah, I didn't realize you were putting tests in there. I figured you meant it would give you the objects you wanted to perform tests on -- and that you'd tested that code elsewhere. The test builder is a singleton, and can only receive one plan. If you try using Test::More twice, that will try to make it plan twice, which will blow it up. > Basically, I need the ability to write tests into each module. Do you need tests in each module, or just code? Also -- and I haven't tested this -- consider writing a library that you require, rather than use, without using any package declaration. It will be in the main package, with the test subs available to it, and will not need to use any test modules on its own. -- rjbs -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/abe-pm/attachments/20040728/24d6870e/attachment.bin