in reply to Can I extract a Hash element by passing a variable to the hash?

Yes you can. If it doesn't work, it's probably because $RUNDAY probably contains "Friday\n" rathen than "Friday". Fix: chomp($RUNDAY = <DAY>);.

I have some suggestions for improvements. Instead of using a temporary file, you can use backticks. Uppercase variable bames usually indicate a constant. You don't need to put numbers in quotes, usually.

my %BACKUP_DAY = ( Sunday => 0, Monday => 1, Tuesday => 2, Wednesday => 3, Thursday => 4, Friday => 6, ); chomp(my $runday = `/bin/date +%A`); my $slot = $BACKUP_DAY{$runday}; print "Slot Number is $slot\n";

By the way, you're missing Saturday. I don't know if that's intentional.

For future reference, place <c> and </c> around any code you post to make it readable.

Replies are listed 'Best First'.
Re^2: Can I extract a Hash element by passing a variable to the hash?
by Anonymous Monk on Jan 27, 2006 at 21:28 UTC
    Thanks, that did the trick.

      As I meant to mention that in my original post, you could just use localtime.

      my $slot = (localtime)[6]; # 0..6 for Sun..Sat if ($slot == 6) { $slot = undef; # undef for Sat. elsif ($slot == 5) { $slot = 6; # 6 for Fri. } print "Slot Number is $slot\n";