Solved

Windows type ini file modification

Posted on 2004-08-25
3
223 Views
Last Modified: 2010-03-05
Hi,

I have some code, which is used to get the values  for a windows type ini file.
My code works fine. I would like to Modify the program according to the option or brand choice.
This is my code ..........
--------------
#!/usr/bin/perl

use strict;
use warnings;

my $brand = shift || die "Must give a brand\n";

my %data;
while (<DATA>) {
  chomp;
  next unless /^\[$brand\]$/ .. !/\S/;

  next if /^\[/;
  next unless /\S/;

  my ($k, $v) = split /\s*=\s*/, $_, 2;

  $data{$k} = $v;
}

foreach (keys %data) {
  print "$_ => $data{$_}\n";
}

This is my config file.... (logins_test_1.cfg)
------------------------------------
[NEWBRAND]

#LOGIN FOR THAT PARTICULAR BRAND
#Get the LOgin and Password according to Brand
[AN]
LOGIN = H006698
PASSWORD = $"?Y??

[AZ]
LOGIN = H006699
PASSWORD = ???S?

[CL]
LOGIN = H007985
PASSWORD = 8?|?E?0

[CM]
LOGIN = H006897
PASSWORD = $"?Y??

[CU]
LOGIN = H006701
PASSWORD = $"?Y??

[GM]
LOGIN = H006703
PASSWORD = 8?|?E?0

 ------------------------------

Suppose if i want to Edit the values for brand or option say [CM] with another set of LOGIN and PASSWORD.... How can i do that?

My next Question is , How to add New Brand say[ZZ] in this file, by making use of two functiions .
1. function to Add LOGIN (will pass 2 arguments say brand and login)
2, function to Add PASSWORD ((will pass 2 arguments say brand and password)


I tried as follows and its working:

$brand = "MO";
$userid="john";
$password="test";
&add_user_id($brand,$userid);
&add_password($brand,$password);
sub add_user_id
{

#------------------------------------------------------------------------------



      

      my ($brand,$uid) = @_;
      
      my ($ok,$ans,$flag);
      $ans = read_config_file($brand);
      
      print "Here ... $ans\n";

      
      if($ans > 0)
      {
       #$ok = "Can not Add userid... Already Exists!!";
      $flag = 0;
      }
      else
      {
      $ok = $uid;
      $flag = 1;

      open(FH,">>logins_test_1.cfg");      
      flock(FH,2);
      print FH "[".$brand."]";
      print FH "\n";
      print FH "LOGIN = ".$ok;
      print FH "\n";
      flock(FH,8);
      close(FH);
      
      }
      #return ($ok,$flag,$brand);

      return $ok;


}

#------------------------------------------------------------------------------



#------------------------------------------------------------------------------

sub add_password {

#------------------------------------------------------------------------------



      my ($brand,$pwd) = @_;

      my $ok1;
      
      if($ok1)
      {
      $flag = 1;
      open(FH,">>logins_test_1.cfg");      
      flock(FH,2);
      print FH "PASSWORD = ".$ok1;
      print FH "\n";
      flock(FH,8);
        close(FH);
      }
      else
      {
      print "Error ...Can not encrypt the Password\n";
      $flag = 0;
      }      
            
      return $ok1;



}


I would like to Store the Password under the brand. Please help me to do that

Regards,
r_k
0
Comment
Question by:r_kar
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 48

Accepted Solution

by:
Tintin earned 250 total points
ID: 11897700
The Config::Inifiles module does everything you need.

http://search.cpan.org/~wadg/Config-IniFiles-2.38/IniFiles.pm
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question