in reply to pointer memory and dynamic memory
There are three problems.
1) You can make a reference out of hashes, arrays, scalars, functions, code, globs/IO and constants, but you can NOT create references to hash elements or array elements.
$ptr = \$hash{'name'};
is the same as
$ptr = \($hash{'name'});
which (in this case) is the same as
$ptr = \1;
which is a reference to a constant. Wouldn't
$key = 'name'; print $hash{$key};
suffice?
2) "$_" can be written as simply $_.
3) Do you think that loop will overwrite the value at $hash{'name'}? Numbers are automatically converted to strings and become just another key:
$hash{'name'} = 1; $hash{0} = 2; $hash{1} = 3; $hash{'1'} = 4; $\=$/; # Adds "\n" to every print. $,=", "; # Seperate printed fields with commas. print(keys(%hash)); # prints: name, 0, 1 (in random order) print($hash{'name'}); # prints: 1 print($hash{0}); # prints: 2 print($hash{1}); # prints: 4 print($hash{'1'}); # prints: 4
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: pointer memory and dynamic memory
by water (Deacon) on Oct 14, 2004 at 02:23 UTC | |
by BrowserUk (Patriarch) on Oct 14, 2004 at 07:31 UTC |