andmott has asked for the wisdom of the Perl Monks concerning the following question:

I keep getting this error

MozRepl::RemoteObject: ReferenceError: JS is not defined at /Library/Perl/5.8.8/MozRepl/RemoteObject.pm line 1396

.. or this error..

Can't use string ("") as a subroutine ref while "strict refs" in use at /Library/Perl/5.8.8/MozRepl/RemoteObject.pm line 686, <DATA> line 1.

..at random. Not always there, not always the same error, and not always at the same time through the loop of my example program. Here is the code that I'm running...

#!/usr/bin/perl use strict; use warnings; use WWW::Mechanize::Firefox; # Create the global firefox object my ($FF) = WWW::Mechanize::Firefox->new( launch => '/Applications/Firefox.app/Contents/MacOS/firefox-bin', tab => 'current', ); for ( my $i = 0; $i < 10; $i++) { $FF->get( 'http://www.google.com' ); sleep( 5 ); } print "Done\n"; exit;
Anyone have any insights as to how I could get around this error? Thanks!

Replies are listed 'Best First'.
Re: WWW::Mechanize::Firefox Random Errors with get() method
by Corion (Patriarch) on Jan 09, 2011 at 08:57 UTC

    I got these errors with older versions of MozRepl::RemoteObject and WWW::Mechanize::Firefox when either too many events happened or when too many commands got sent. Upgrading both modules to their latest versions should help (and I think the problem is that WWW::Mechanize::Firefox currently has no prerequisite for MozRepl::RemoteObject v0.20).

    I'm sorry for the negligence of not having bumped the MozRepl::RemoteObject prerequisite. Please tell me if upgrading it fixes things for you.

      Hey no problem, the tool is great as it is and I'm very thankful that it is available on CPAN! I upgraded MozRepl::RemoteObject to 0.20, and MozRepl itself is version 0.06. It definitely fixed those errors, though I'm getting something new now:

      Can't coerce array into hash at /Library/Perl/5.8.8/MozRepl/RemoteObject.pm line 729, <DATA> line 1.

      This is still while running my example code. How new are MozRepl packages as well as the WWW::Mechanize::Firefox? Is this software under active development? I may be interested in getting involved. The whole thing is pretty cool, how you install a plugin in Firefox and use the Perl library to talk to it. Thanks for your help!