in reply to How to copy an array to a hash?

Hi Ethen,
below is an example of how you can parse the information on your file.
Note that you can use your file descriptor (INFD) where I have <DATA> to read the info from the file.
To execute svrmngr use the system function instead of the final print.
use strict; use warnings; my @data = <DATA>; my %conf = (); map{ $_ =~ /(\w*)\s*=[^\w]*(.*)('|")/; $conf{$1} = $2; } grep /=/, @da +ta; #use Data::Dumper; #print Dumper(\%conf); # to see what we got print ("srvmngr -g $conf{'GATEWAY'} -s $conf{'USER'} -....."); __DATA__ #para.txt #this file contains the paramters to be used in the #command line. SRVMNGR = "E:\siebel\siebsrvr\bin\srvrmgr " GATEWAY = "gateway server name" ENTERPRISE SERVER = "enterprise server name" SERVER = "server name" USER = "user" PASSWORD = "password" SYSTEM_NAME = "WfProcMgr"
This outputs
srvmngr -g gateway server name -s user -.....
If you must have the ' or " for the values on the right side, then change the regexp to
map{ $_ =~ /(\w*)\s*=\s*(.*)\n/; $conf{$1} = $2; } grep /=/, @data;