Associative array/Creation

From Rosetta Code
Revision as of 20:49, 22 January 2007 by 209.63.105.137 (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Task
Associative array/Creation
You are encouraged to solve this task according to the task description, using any language you may know.

In this task, the goal is to create a hash.

Perl

Interpeter: Perl

Defining a Hash

# using => key does not need to be quoted unless it contains special chars
my %hash = (
  key1 => 'val1',
  'key-2' => 2,
  three => -238.83,
  4 => 'val3',
);

# using , both key and value need to be quoted if containing something non-numeric in nature
my %hash = (
  'key1' => 'val1',
  'key-2' => 2,
  'three' => -238.83,
  4 => 'val3',
);

Defining a HashRef

my $hashref = {
  key1 => 'val1',
  'key-2' => 2,
  three => -238.83,
  4 => 'val3',
}

Using a Hash

print $hash{'key1'};

$hash{'key1'} = 'val1';

@hash{'key1', 'three'} = ('val1', -238.83);

Using a HashRef

print $hash->{'key1'};

$hash->{'key1'} = 'val1';

@hash->{'key1', 'three'} = ('val1', -238.83);