Dear Bill, That didn't work out. Ok I storing the output of the command in a variable so that it could be easy for you to manipulate.
$line = "Using ClearCommerce SSL Java API Version: release-3-8-3-17 Shipping: 10.0 Tax: 0.0 Time - Sat Jun 22:28:42 2002 Ref# - 12345678 Appr - APPROVED Code - 123456 AVSCode - PayServ - Err - Ord# - 12.45.92.15-1024748922-901932-1575-14 ESD0: Could not create URL."; Actually in the string there is no new line only spaces which separate one pair from another and key and value are separated once by ":" and others by "-". How do i go about this job. Have a great day. karthikeyan. ----- Original Message ----- From: $Bill Luebkert <[EMAIL PROTECTED]> To: karthikeyan <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Monday, June 24, 2002 6:04 AM Subject: Re: [Perl-unix-users] Re: Perl with Java > > $Bill Luebkert wrote: > > karthikeyan wrote: > > > >> Dear All, > >> > >> Hope you are all having a great day. > >> > >> I have a problem. I m running a java program through perl like this : > >> > >> $cmd = 'java SSLTest'; > >> > >> It returns output like this : > >> > >> Using ClearCommerce SSL Java API Version: release-3-8-3-17 Shipping: > >> 10.0 Tax: 0.0 Time - Sat Jun 22 07:28:42 2002 Ref# - 12345678 Appr - > >> APPROVED Code - 123456 AVSCode - PayServ - Err - Ord# - > >> 12.45.92.15-1024748922-901932-1575-14 > >> > >> when you run the program in the command line mode I would get > >> something like this so that you don't get confused > >> > >> Using ClearCommerce SSL Java API Version: release-3-8-3-17 > >> > >> Shipping: 10.0 > >> Tax: 0.0 > >> Time - Sat Jun 22 07:28:42 2002 > >> Ref# - 12345678 > >> Appr - APPROVED > >> Code - 123456 > >> AVSCode - > >> PayServ - > >> Err - > >> Ord# - 12.45.92.15-1024748922-901932-1575-14 > >> > >> Now what I want to do here is get each name and value in a separate > >> separate variable like : > >> > >> $Shipping will contain 10.0, $Tax will contain 0.0, $Time will > >> contain Sat Jun 22 07:28:42 2002 > >> how do I parse those string and store it in a variable. > >> > >> Any help regarding this would be greatly appreciated. > > > > > > I would split on :- (assuming a line at a time as your fixed example > > shows). > > Then use a hash to store the fields. > > > > my %hash; > > > > foreach (@lines) { > > my @f = split /\s*[:-]\s*/, $line; > > Because of the : and - in other places in the line, better limit the split > to 2 fields (all untested): > > my ($name, $value) = split /\s*[:-]\s*/, $line, 2; > $hash{$name} = $value; > > > $hash{$f[0]} = $f[1]; > > } > > > > I'm assuming you have the newline problem in hand. > > > -- > ,-/- __ _ _ $Bill Luebkert ICQ=162126130 > (_/ / ) // // DBE Collectibles Mailto:[EMAIL PROTECTED] > / ) /--< o // // http://dbecoll.tripod.com/ (Free site for Perl) > -/-' /___/_<_</_</_ Castle of Medieval Myth & Magic http://www.todbe.com/ > > _______________________________________________ > Perl-Unix-Users mailing list > [EMAIL PROTECTED] > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs > _______________________________________________ Perl-Unix-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs