Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268

    array avente il nome di una variabile

    ho una variabile $a, vorrei ottenere un array con questo nome: @[$a].

    Credo non sia possibile.

  2. #2
    E' possibile ma impedito se si usa il pragma "use strict" ed è altamente sconsigliato, comunque si fa cosi

    $ab = "ciao";
    @$ab = (1,2,3);

    print "@ciao\n";
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    268
    Provavo con un editor e non funzionava.
    E' vero così funziona. Grazie.
    E' altamente sconsigliato non usare "use strict" o questa funzione? Vi sono rischi di interpretazione?

  4. #4
    E' sconsigliato usare quella funzione.

    Se proprio vuoi creare vettori, usa quelli anonimi

    Ossia, te hai uno scalare che si chiama $ab:
    $ab = "ciao";
    Quando vuoi creare un vettore usi questo metodo:

    Dichiari all'inizio dello script un hash:
    %hash;

    #Per creare un vettore anonimo usa questo metodo:
    $hash{$ab}=[];

    Quando ti serve usare il vettore fai così:
    $hash{$ab}->[0]="Inserisco questa stringa nella cella Zero\n";
    Poi usi tutte le altre funzioni dell'array normalmente
    push(@$hash{$ab},52); #Inserisco il 52 nel vettore anonimo.


    Vabbè, i puntatori non sono cose da spiegare così velocemente.
    Per questo ti consiglio caldamente una guida.


    Ciao

  5. #5
    Esatto...

    per prima cosa metti sempre all'inizio

    #!/usr/bin/perl

    use strict;

    che ti evita molti errori difficilissimi da trovare.

    Per quanto riguarda il secondo problema, quello che tu intendevi fare era creare una "variabile simbolica", il che è fortemente sconsigliato per motivi di funzionalità, di sicurezza e perchè non ce n'è mai bisogno, come dice LordSaga.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  6. #6
    Originariamente inviato da shishii
    [...]come dice LordSaga.
    Mi fai arrossire

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.