#!perl -w use strict; use Data::Dumper; my @r = ('R0'); my @routers =$r[0]; my @router = ( "R0", "R2", "R3" ); my %fpc = ( R0 => { fpc1 => 5, fpc2 => 4, }, R2 => { fpc1 => 3, fpc2 => 2, }, R3 => { fpc1 => 1, fpc2 => 0, }, ); my %pic = ( R0 => { pic1 => 5, pic2 => 4, }, R2 => { pic1 => 3, pic2 => 2, }, R3 => { pic1 => 1, pic2 => 0, }, ); @router = ( "R0", "R2", "R3" ); for my $rh (@routers) { my $r = shift(@router); print "value of r is $r\n"; print "Processing routers in order " . join(",", values %{ $fpc{$r} }), "\n"; OUTER: for my $f (values %{ $fpc{$r} }) { print "Processing pic-elements for $r in order " . join( ",", values %{ $pic{$r} }), "\n"; INNER: for my $p (values %{ $pic{$r} }) { print "request chassis pic offline fpc-slot $f pic-slot $p\n"; next OUTER; } } }