Re: Eigenschaften von Perl



On 2008-02-28 07:38, Frank Seitz <devnull4711@xxxxxx> wrote:
Peter J. Holzer wrote:
On 2008-02-27 08:22, Ferry Bolhar <bol@xxxxxxxxxxxxxxxxx> wrote:
Keine globale Variable (die man jederzeit und von überall über Typeglobs
manipulieren kann). Deklarierst du in deinem Code $foo als lexikalisch, wird
er nicht mehr (so) funktionieren.


#!/usr/bin/perl
use strict;
use warnings;

sub foo {
$_[0]++;
}

sub bar {
my $foo = 5;
foo($foo);
print "$foo\n";
}

bar();

Hä? Was hat das mit dem ursprünglichen Code zu tun?

Das ist der ursprüngliche Code von Dir. Schau mal in
<62ibqiF22ueigU7@xxxxxxxxxxxxxxxxxx>. Wozu Felix' "Gehampel" (Zitat Frank
Seitz) gut sein sollte, habe ich nicht verstanden und es daher
ignoriert.

Es bleibt also Felix Aussage:

| Keine Variable ist vor böswilligen (oder einfach murksig
| implementierten) subs sicher.

auf die Ferry wie oben zitiert geantwortet hat.


Mit lexikalischem $foo geht es so:

sub inc ($;$) {
my $foo = \(shift);
my $bar = shift || 1;
$$foo += $bar;
}

Hier fehlt der entscheidende Teil, nämlich der Aufruf von inc.

inc($x);

erhöht den Wert von $x um 1, egal ob $x eine lexikalische oder globale
Variable ist, im Gegensatz zu Ferrys Aussage, der meinte, das
funktioniere nur bei globalen Variablen. Das lässt sich aber genauso
leicht mit der Funktion foo oben zeigen. Daher kann ich Dich nur
zitieren und fragen: "Wozu das Gehampel?"

hp

.



Relevant Pages

  • Re: Anthropisches Prinzip und Information
    ... Wieso soll der Code in der DNS denn "universal" sein? ... Das kann auch mit anderen Codes funktionieren. ... seine Anordnung. ... vier Basen in einem Molekül ein Speicher ist. ...
    (de.sci.philosophie)
  • Re: Probleme mit Sonderzeichen in Combobox
    ... (Aktionskalender für eine BI) ... ohne den Code der ganzen ... Ersetze in deinem jetzigen Beispiel den Aufruf callbackMonate unter Herkunftstyp durch "Wertliste" und stelle bei Datensatzherkunft folgendes ein: ... Der auf dieser geänderten Combobox aufbauende Code zur Kalenderberechnung sollte damit ohne weitere Eingriffe deinerseits auch weiterhin funktionieren. ...
    (microsoft.public.de.access)
  • Re: Tastaturereignisse in MdiChild-Fenstern
    ... Wenn ich an dieses Formular ein Formular hänge ... Wie genau (Code) sieht dieses "an dieses Formular ... KeyUp und KeyPress funktionieren bei ... ByVal e As System.EventArgs _ ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: DataTable.Select mit DateTime-Eintrag - Welches Format?
    ... > ich habe eine Tabelle mit einer Spalte mit Einträgen vom Typ DateTime. ... Insofern dürfte Dein Code eigentlich nicht funktionieren. ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: SIGPIPE
    ... das Signal SIG_PIPE noch auftritt und fand in einem Forum diese ... Deswegen ist die Aussage trotzdem falsch. ... heute habe ich den Code verstanden (war gestern mittag beim ... Fuer UNIX(*) ist das ein relativ neues feature ...
    (de.comp.os.unix.programming)