Skip Menu |

This queue is for tickets about the Tk-FontDialog CPAN distribution.

Report information
The Basics
Id: 29425
Status: resolved
Priority: 0/
Queue: Tk-FontDialog

People
Owner: Nobody in particular
Requestors: MTHURN [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.13
Fixed in: (no value)



Subject: Can't use string ("MY") as a HASH ref
I don't know what that "MY->can" construct is in your preamble, but my perl doesn't like it. (ActivePerl build 822 on Windows XP) [MSG] Extracted 'Tk::FontDialog' to 'C:\temp\.cpanplus\5.8.8\build\Tk-FontDialog-0.13' Running [C:\Perl\bin\perl.exe C:\Perl\bin\cpanp-run-perl C:\temp\.cpanplus\5.8.8\build\Tk-FontDialog-0.13\Makefile.PL ]... Checking if your kit is complete... Looks good Can't use string ("MY") as a HASH ref while "strict refs" in use at C:/Perl/lib/ExtUtils/MM_Any.pm line 340. [ERROR] Could not run 'C:\Perl\bin\perl.exe Makefile.PL': -- cannot continue -- - - Martin 'Kingpin' Thurn
Subject: Re: [rt.cpan.org #29425] Can't use string ("MY") as a HASH ref
Date: 18 Sep 2007 00:16:38 +0200
To: bug-Tk-FontDialog [...] rt.cpan.org
From: Slaven Rezic <slaven [...] rezic.de>
"Martin Thurn via RT" <bug-Tk-FontDialog@rt.cpan.org> writes: Show quoted text
> Mon Sep 17 09:25:28 2007: Request 29425 was acted upon. > Transaction: Ticket created by MTHURN > Queue: Tk-FontDialog > Subject: Can't use string ("MY") as a HASH ref > Broken in: 0.13 > Severity: Important > Owner: Nobody > Requestors: MTHURN@cpan.org > Status: new > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=29425 > > > > I don't know what that "MY->can" construct is in your preamble, but my > perl doesn't like it. (ActivePerl build 822 on Windows XP) > > [MSG] Extracted 'Tk::FontDialog' to > 'C:\temp\.cpanplus\5.8.8\build\Tk-FontDialog-0.13' > Running [C:\Perl\bin\perl.exe C:\Perl\bin\cpanp-run-perl > C:\temp\.cpanplus\5.8.8\build\Tk-FontDialog-0.13\Makefile.PL ]... > Checking if your kit is complete... > Looks good > Can't use string ("MY") as a HASH ref while "strict refs" in use at > C:/Perl/lib/ExtUtils/MM_Any.pm line 340. > [ERROR] Could not run 'C:\Perl\bin\perl.exe Makefile.PL': -- cannot > continue >
Can you give me the versions of some ExtUtils::MakeMaker-related modules by executing the following commands perl "-MExtUtils::MakeMaker 9999" perl "-MExtUtils::MM_Any 9999" perl "-MExtUtils::MM_Win32 9999" ? For a quick workaround, you can remove the MY::postamble subroutine completely. It's just about adding a "demo" rule to the Makefile. Regards, Slaven -- Slaven Rezic - slaven <at> rezic <dot> de Berlin Perl Mongers - http://berlin.pm.org
Subject: RE: [rt.cpan.org #29425] Can't use string ("MY") as a HASH ref
Date: Mon, 17 Sep 2007 23:10:25 -0400
To: <bug-Tk-FontDialog [...] rt.cpan.org>
From: "Martin Thurn" <mthurn [...] verizon.net>
Show quoted text
> > Can't use string ("MY") as a HASH ref while "strict refs" in use at > > C:/Perl/lib/ExtUtils/MM_Any.pm line 340. > > [ERROR] Could not run 'C:\Perl\bin\perl.exe Makefile.PL': -- cannot > > continue
> > Can you give me the versions of some ExtUtils::MakeMaker-related > modules by executing the following commands > > perl "-MExtUtils::MakeMaker 9999" > perl "-MExtUtils::MM_Any 9999" > perl "-MExtUtils::MM_Win32 9999"
ExtUtils::MakeMaker version 9999 required--this is only version 6.36. ExtUtils::MM_Any version 9999 required--this is only version 0.15. ExtUtils::MM_Win32 version 9999 required--this is only version 1.15. Show quoted text
> For a quick workaround, you can remove the MY::postamble subroutine > completely. It's just about adding a "demo" rule to the Makefile.
Yes in fact I already did. 8-) - - Martin
On Mon Sep 17 23:11:14 2007, mthurn@verizon.net wrote: Show quoted text
> > > Can't use string ("MY") as a HASH ref while "strict refs" in use at > > > C:/Perl/lib/ExtUtils/MM_Any.pm line 340. > > > [ERROR] Could not run 'C:\Perl\bin\perl.exe Makefile.PL': -- cannot > > > continue
> > > > Can you give me the versions of some ExtUtils::MakeMaker-related > > modules by executing the following commands > > > > perl "-MExtUtils::MakeMaker 9999" > > perl "-MExtUtils::MM_Any 9999" > > perl "-MExtUtils::MM_Win32 9999"
> > ExtUtils::MakeMaker version 9999 required--this is only version 6.36. > ExtUtils::MM_Any version 9999 required--this is only version 0.15. > ExtUtils::MM_Win32 version 9999 required--this is only version 1.15. >
> > For a quick workaround, you can remove the MY::postamble subroutine > > completely. It's just about adding a "demo" rule to the Makefile.
> > Yes in fact I already did. 8-) >
Is the problem solved if you use the attached Makefile.PL instead? Regards, Slaven
use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'Tk::FontDialog', 'VERSION_FROM' => 'FontDialog.pm', # finds $VERSION 'PREREQ_PM' => {'Tk' => 800}, 'dist' => {'POSTOP'=>'-$(CHMOD) 644 $(DISTVNAME).tar$(SUFFIX)'}, ); sub MY::postamble { my($MY) = @_; my $postamble = ""; if ($MY && UNIVERSAL::can($MY, "oneliner")) { my $demo_oneliner = $MY->oneliner("use blib; use Tk; use Tk::FontDialog; tkinit->FontDialog->Show"); $postamble = <<EOF; demo :: pure_all $demo_oneliner EOF } elsif ($^O ne "MSWin32") { $postamble = <<'EOF'; demo :: pure_all $(FULLPERL) -w -Mblib -MTk -MTk::FontDialog -e 'tkinit->FontDialog->Show' EOF } if (defined $ENV{USER} && $ENV{USER} eq 'eserte' && $^O =~ /bsd/i && -f "../../perl.release.mk") { $postamble .= <<'EOF'; .include "../../perl.release.mk" .include "../../perl.cvs.mk" EOF } $postamble; }
Should be fixed now, see version 0.14.