in reply to Beginner here - basic help

A hash of hashes structure will work:
use warnings; use strict; my %table = ( 1 => { emotion => 'angry' , color => 'red' }, 2 => { emotion => 'sick' , color => 'green' }, 3 => { emotion => 'calm' , color => 'blue' }, 4 => { emotion => 'worried' , color => 'purple' }, 5 => { emotion => 'sad' , color => 'black' }, ); for my $number (2, 5) { my $even = ($number % 2) ? 'odd' : 'even'; print "$number $table{$number}{emotion} $table{$number}{color} $ev +en\n"; } __END__ 2 sick green even 5 sad black odd

Replies are listed 'Best First'.
Re^2: Beginner here - basic help
by jeffa (Bishop) on Mar 26, 2015 at 16:39 UTC

    Or an array of arrays:

    my @data = ( [ qw( angry red ) ], [ qw( sick green ) ], [ qw( calm blue ) ], [ qw( worried purple ) ], [ qw( sad black ) ], ); for (1, 4) { print join( ' ', $_, @{$data[$_]}, ($_%2) ? 'odd' : 'even' ), $/; } __END__ 1 sick green odd 4 sad black even

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)