Sadrak: Referenz erkennen

So, ich frage mich seit längerem ob es nicht ne elegante Lösung gibt Referenzen die in einem String gespeichert sind zu erkennen. Also mich wurmt es eigentlich, das wenn ich nen String weitergebe ich mich für eine Sache entscheiden muss. Entweder Referenz oder halt String. Gibt es da nix, das ich einfach sage z.b.

isReferenz($STRING)

und mir das dann nen false oder halt den referenztyp zurückgibt?
Achja, es dreht sich alles um Perl ...

Achja, und selber ne Subroutine schreiben könnte ich dazu vielleicht auch *g* mich interessiert halt ob sowas in der Art vorgesehen ist?

Achja, ne Frage nebenbei.
Ich muss einen Landfleck abspeichern, mit vielen Infos.
Sagen wir mal: 500 x 500 felder, pro feld 5 informationen ...
das ganze kann ca. 100 mal erforderlich sein ...

Wie speicher ich das am sinnvollsten ab? Ich habe die Möglichkeit mit mySQL zu arbeiten.

  1. Hoi,

    So, ich frage mich seit längerem ob es nicht ne elegante Lösung
    gibt Referenzen die in einem String gespeichert sind zu erkennen.

    Referenzen in einem String? Das gibt es nicht.

    Also mich wurmt es eigentlich, das wenn ich nen String weitergebe
    ich mich für eine Sache entscheiden muss. Entweder Referenz oder
    halt String. Gibt es da nix, das ich einfach sage z.b.

    isReferenz($STRING)

    und mir das dann nen false oder halt den referenztyp zurückgibt?

    perldoc -f ref

    Ich muss einen Landfleck abspeichern, mit vielen Infos.
    Sagen wir mal: 500 x 500 felder, pro feld 5 informationen ...
    das ganze kann ca. 100 mal erforderlich sein ...

    Wie speicher ich das am sinnvollsten ab? Ich habe die Möglichkeit
    mit mySQL zu arbeiten.

    Das verstehe ich nicht. Werd mal genauer. Was fuer Informationen? Wie
    liegen die vor? Wie brauchst du sie? etc.

    Gruesse,
     CK

    1. OK, zu dem Landproblem:

      Ich habe eine
      x-Koordinate
      y-koordinate
      einen besitzter
      art des Landes (wald/ebene/etc)
      bebauen (dorf/fabrik/etc)
      besonderes

      So, das muss ich alles abspeichern. Zumindest brauche ich all diese Informationen.

      Und das halt PRO Landstück ... nur wie realisiere ich das am besten???

      1. Hallo,

        Ich habe eine
        x-Koordinate
        y-koordinate
        einen besitzter
        art des Landes (wald/ebene/etc)
        bebauen (dorf/fabrik/etc)
        besonderes

        So, das muss ich alles abspeichern. Zumindest brauche ich all diese
        Informationen.

        Nunja, du hast eine 1:n-Beziehung bei den Koordinaten (auf eine
        Y-Koordinate kommen n X-Koordinaten). Da wuerde ich
        das so machen:

        Tabelle ycoords:
        Spalte id (PRIMARY)
        Spalte y (UNIQUE, INDEX)

        Tabelle infos:
        Spalte id (FOREIGN ID von ycoords)
        Spalte x (INDEX)
        Spalte Besitzer
        Spalte Art
        Spalte bebaubar
        Spalte besonderes

        Aber das kann jemand anderes (Daniela?) mit Sicherheit besser
        beurteilen, ob das so sinnvoll ist.

        Gruesse,
         CK

        1. Jau, das sieht schon sehr gut aus :)

          Ich habe mir gerade auch gedanken gemacht, das ich
          x-koord und y-koord als SMALLINT laufen lassen kann,
          id als smallint
          den rest sogar als tiny ...

          naja, jetzt den fall, das die datenbank wirklich ca. 25o.ooo Rows bekommt ... wie sähe da dann der Datensalat zu aus?

          Ich meine, Performance?

          1. Hi,

            naja, jetzt den fall, das die datenbank wirklich ca. 25o.ooo Rows
            bekommt ... wie sähe da dann der Datensalat zu aus?
            Ich meine, Performance?

            eine Viertelmillion Datensätze ist nicht von sich aus etwas Schlimmes.
            (Ich habe eine Tabelle mit fünfzigmal so vielen rows in mySQL, und das
            funktioniert ganz großartig, obwohl die Tabelle einmal täglich komplett
            neu geladen wird.)

            Wenn Du alle Lese- und Schreibzugriffe über sinnvoll definierte Indexe
            machst, kann das beliebig schnell sein.
            Und eine hohe Änderungsrate hast Du ja aufgrund der Natur Deiner Daten
            auch nicht - Orte bewegen sich ja wohl eher selten ... ;-)

            Viele Grüße
                  Michael

            1. Stimmt :) meist werden die daten halt nur ausgelesen ... ok, so sollte es klappen :)

  2. Hallo,

    Gibt es da nix, das ich einfach sage z.b.
    isReferenz($STRING)
    und mir das dann nen false oder halt den referenztyp zurückgibt?

    Doch, gibt es: mit 'perldoc -f ref' kannst Du alles wissenswerte erfahren.

    Achja, es dreht sich alles um Perl ...

    Achaj, Perl hat auch eine Dokumentation, die ist ziemlich umfangreich (unter Windows,Activestate: 16 MB aktueller Stand) und auch durchaus ergiebig.

    Achja, ne Frage nebenbei.
    Ich muss einen Landfleck abspeichern, mit vielen Infos.
    Sagen wir mal: 500 x 500 felder, pro feld 5 informationen ...
    das ganze kann ca. 100 mal erforderlich sein ...

    Wie speicher ich das am sinnvollsten ab? Ich habe die Möglichkeit mit mySQL zu arbeiten.

    Ohne jetzt alle Hintergründe zu kennen, würde ich doch sagen, daß eine Datenbank, also auch mySQL, dazu durchaus ein sinnvolles Mittel zum Erfolg sein wird, wobei 25 Mio. Einträge auch in einer DB eine ganze Menge sind.

    Grüße
      Klaus