in reply to How to copy an array to a hash?
This outputsuse 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"
If you must have the ' or " for the values on the right side, then change the regexp tosrvmngr -g gateway server name -s user -.....
map{ $_ =~ /(\w*)\s*=\s*(.*)\n/; $conf{$1} = $2; } grep /=/, @data;
|
|---|