[Dresden-pm] Re: Prüfen, ob Variable definiert

Steffen Schwigon schwigon at webit.de
Fre Feb 6 09:35:08 CST 2004


"Robert Koch" <heromaster at web.de> writes:
> Folgendes Problem habe ich. Ich habe einen Hash %ARGS, darin stehen
> als Schlüssel Variablen, die deklariert werden. Nun möchte ich prüfen,
> welche Variablen deklariert wurden, die in %ARGS stehen.

#! /usr/bin/perl

use strict;
use warnings;
no strict 'refs';

my %args = (
						a => 1,
						b => 1,
						c => 1,
						d => 1
					 );

my ($a, $b, $c, $d);
$a = $b = $c = 'affe';

print "vorher: $_\n" foreach keys %args;

foreach (keys %args) {
	delete $args{$_} if eval "defined \${$_}";
}

print "nachher: $_\n" foreach keys %args;


-- 
Steffen Schwigon <schwigon at webit.de>