Schrift
[thread]7071[/thread]

3 Hashes aus einem Hash erzeugen (Seite 2)

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
pq
 2005-06-23 13:24
#55696 #55696
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=cbxk1xg,23.06.2005, 11:13]> benutzt du nun strict oder nicht?
Ja, wenn es notwendig ist. Aber nicht immer. In diesem Fall wäre das manchmal hinderlich, da ich einige globale Variablen brauche.[/quote]
die kannst du auch mit strict benutzen. globale variablen sind meistens
package-variablen, und eine package-variable deklariert man mit
use vars '$global' oder $package::global, aber nicht, indem
man strict wegläßt.
ich habe jedenfalls keine lust, anderer leute skripte zu debuggen, wenn
diese zufaul sind, auf strict umzustellen.
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
Strat
 2005-06-23 13:28
#55697 #55697
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=cbxk1xg,23.06.2005, 11:13]In diesem Fall wäre das manchmal hinderlich, da ich einige globale Variablen brauche.[/quote]
auch in perl gibt es sowas aehnliches wie globale variablen...
Code: (dl )
1
2
3
4
use strict; use warnings;
use vars qw($Global1);
our $Global2 = 400; # ab perl5.6
...

und wenn du globale Variablen nur brauchst, um dir in einer Subroutine einen status oder so zu merken, dann helfen oft auch closures
Code: (dl )
1
2
3
4
5
6
{ # block
my $counter = 0;
sub IncreaseCounter { return ++$counter }
sub DecreaseCounter { return --$counter }
sub ResetCounter { $counter = 0 }
} # block

hier ist $counter nur im block gueltig, die Subroutinen sind aber global und somit auch von aussen erreichbar... da muss man nur aufpassen, dass my $counter=0 ausgefuehrt wird, bevor das erste mal auf $counter zugegriffen wird (ok, bei diesem beispiel ist es egal, weil ++ undef ohne warnung 1 ergibt...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2005-06-23 16:34
#55698 #55698
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=pq,23.06.2005, 11:24]ich habe jedenfalls keine lust, anderer leute skripte zu debuggen, wenn diese zufaul sind, auf strict umzustellen.[/quote]
me too
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
cbxk1xg
 2005-06-23 17:26
#55699 #55699
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
> ich habe jedenfalls keine lust, anderer leute skripte zu debuggen, wenn diese zufaul sind, auf strict umzustellen.

Ich verstehe ja Eure Argumente und ihr habt auch recht, allerdings lag das Problem nun wirklich eindeutig nicht an "use strict".

Ich gelobe Besserung!
Crian
 2005-06-24 18:15
#55700 #55700
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Das sollte auch nur ein deutlicher Hinweis sein, dass es keinen Sinn macht, die Hilfen, die Perl einem zur Fehlerfindung anbietet, auch zu verwenden.

Stell Dir vor Du hast einen Platten und Wagenheber, Schlüssel, Lappen, Ersatzreifen etc dabei, aber Du benutzt den Wagenheber nicht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2005-06-23 00:25.