Looking at your code, it seems like you want to be trying your hash values as the variable for your resulting hash. Your variable names aren't consistent, but I believe you want something like this:
chomp($prompt{$passwds{$prompt}} = <STDIN>);
That would set up your resulting %prompt hash like this:
%prompt = (
'$oldpass' = 'whatever I typed for old password',
'$oldenable' = 'whatever I typed for old enable,
...
);
Note the presence of the dollar signs in the hash keys, which is weird. You probably want to take them out unless for whatever reason you want your hash keys to all be prefixed with dollar signs.. *shrug*..
You also probably want to use a new name for your resulting hash, like, %new or %input. And use strict;! You're doing good by keeping track of variables via 'use vars', but you aren't running with strict turned on, which would have told you that %prompt was being used undeclared, and might have pointed you in the direction of this problem. |