On Tue, Aug 26, 2008 at 12:39:16PM +0100, Steve Hay wrote: > Nicholas Clark wrote:
> > Mmm. What happens if you run its little test program from the command > > line: > > > > $ ./perl -Ilib > > use constant foo => q(a); > > index(q(a), foo); > > local *g=${::}{foo};print "ok"; > > __END__ > > ok > > > > And does it work better if that "ok" becomes "ok\n" ? > > It outputs "ok". > If I change "ok" to "ok\n" then it outputs "ok > ". Odd. So try something else: If you change t/op/local.t from like( runperl(stderr => 1, prog => 'use constant foo => q(a);' . 'index(q(a), foo);' . 'local *g=${::}{foo};print "ok";'), "ok", "[perl #52740]"); to like( runperl(stderr => 1, prog => 'use constant foo => q(a);' . 'index(q(a), foo);' . 'local *g=${::}{foo};print "ok\n";'), "ok", "[perl #52740]"); does that make t/op/local.t pass? No, not that I'd understand why if it did. Nicholas Clark