Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8360[/thread]

no warnings

Leser: 1


<< >> 6 Einträge, 1 Seite
Froschpopo
 2006-09-26 06:40
#70255 #70255
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich hab nen ganz normales script geschrieben.

ich bekomm ständig aber:
Code: (dl )
Subroutine %s redefined at...

nahezu alle subroutinen in meinem script sind "redefined".
Im Kamelbuch steht leider nur, wie ich das unterdrücken kann.
Mit:
Code: (dl )
1
2
3
{ no warnings;
eval "sub name {...}";
}

ich finde die Mitteilung etwas dürftig, weil man garnicht erfährt woran es liegt. Denn einige meiner scripte die auch mit warnings arbeiten haben die Meldung nicht.
Was soll das ganze?
ich hatte erst die Ursache an mod_perl vermutet...
aber auch wenn das zuträfe, warum erscheint die meldung und auf welchem natürlichen Weg kann man es verhindern? Ich würde nämlich gerne ein eval vermeiden.\n\n

<!--EDIT|Froschpopo|1159240999-->
renee
 2006-09-26 10:31
#70256 #70256
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du "überschreibst" anscheinend irgendwelche Subroutinen. Das passiert meistens dann, wenn Du etwas in Deinen Namensraum importierst und dann den gleichen Namen für eine Subroutine verwendest. Beispiel:

Code: (dl )
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl

use strict;
use warnings;
use CGI qw(:standard);

sub header{
print "sub header";
}


Du importierst die Subroutine header aus CGI.pm in Deinen Namensraum und definierst dann eine eigene Subroutine header.

Du kannst die Warnung komplett für das Skript ausschaulten:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;
use CGI qw(:standard);

no warnings 'redefine';

sub header{
print "sub Vars";
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Froschpopo
 2006-09-26 11:14
#70257 #70257
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
aber die subroutinen stammen ALLE (über 30 stück) aus meinem script, nicht aus irgendeinem modul.
kann das irgendwas mit den cloneprozessen von modperl zu tun haben? Es kann auch unmöglich sein, dass irgendein eingebundenes modul Subroutinen gleichen namens verwendet, da meine Namen ziemlich lang und auf deutsch sind.
renee
 2006-09-26 11:23
#70258 #70258
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn es mod_perl-spezifisch ist, kann ich nicht helfen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2006-09-26 13:44
#70259 #70259
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
workaround:
no warnings 'redefine';
das eval ist unnötig.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2006-09-26 14:13
#70260 #70260
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,26.09.2006, 11:44]workaround:
no warnings 'redefine';
das eval ist unnötig.[/quote]
siehe mein Beispiel ;)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 6 Einträge, 1 Seite



View all threads created 2006-09-26 06:40.