Now for a 'regular' office that would be:
while (my $hours_left = shift @office) { @office; $self->{cafeine}++; $self->{nicotine} += $hours_left; };

And for the 'oval' office that might just be:
while (my $hours_left = shift @oval_office;) { $self->{skill} = $hours_left; $self->{satisfaction} += kill 9 @terrorists; };

:-)

Sinister greetings.
"With tying hashes you can do everything God and Larry have forbidden" -- Johan Vromans - YAPC::Europe 2001
perldoc -q $_