#!/usr/bin/perl -w #!C:/xampp/perl/bin/perl -w # # This file is part of a perl tutorial # # (C) Copyright 1999 Hans Kern # # File name : pldemo13.cgi # Created by : Hans Kern # Creation date: 25.5.99 # # Beispiel Strukturen mit Referenzen. print "Content-type:text/plain\n\n"; #use strict; # Achtung! $x und $y dürfen nicht unter my stehen! my( $key, $index); my $x; my @z; $x = -5; @z = (-10,"otto"); my $STRING; # Das Beispiel mit array geht mit strict nicht zusammen! # Daher besser als hash lösen, s.u. my @array = ( "x", "z"); $STRING=""; foreach $index ( @array ) { if( defined ${$index} ) { $STRING .= "&$index=${$index}"; } elsif( defined @{$index} && @{$index} > 0 ) { $STRING .= "&$index=".join( "&$index=", @{$index} ); } } print "$STRING\n"; my %hash = ( "x" => \$x , "z" => \@z); $STRING=""; foreach $key ( keys(%hash) ) { if ( ref($hash{$key}) eq "SCALAR") { print ${$hash{$key}},"\n"; $STRING .= "&$key=${$hash{$key}}"; } elsif ( ref($hash{$key}) eq "ARRAY") { print @{$hash{$key}},"\n"; $STRING .= "&$key=".join( "&$key=", @{$hash{$key}} ); } } print "$STRING\n";