Sponsored Content
Full Discussion: Perl config file Help
Top Forums Shell Programming and Scripting Perl config file Help Post 302195982 by quine on Friday 16th of May 2008 10:38:38 AM
Old 05-16-2008
Hmm... Let me see if I can try...

1. create a hash called %config.
2. open the file "config.txt" or quit if can't open it. Open it to a scalar variable called $config. This is a little confusing. Now you have a hash and a scalar used as a file handle. Two different variables.
3. Using the file handle ($config) loop over each line of the file. This loads each line into $_
4. Remove the newline at end of each config.txt line (now in $_)
5. Parse the line. Put the FIRST field (fields separated by "=") into the variable $key, the rest goes into array @value... Config must look like "X=something, and more, and more" doesn't matter what's there, everything after the = goes into @value
6. Now load what was in config.txt into the HASH called %config. Put the KEY parsed in the line above into the hash index $config{$key} and the rest of the line (what ever was after the "=" in config.txt) into the data part of the hash....

How's that???
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl config file Help

HI I have a config file (ip.config)that has the following fields with colon as delimeter. yahoo.com:1919 ( host and port number) rediffmail.com:2020 gmail.com:2121 How to read it in a perl script. I need to parse the host and port number in the perl script using split... (6 Replies)
Discussion started by: Harikrishna
6 Replies

2. Shell Programming and Scripting

Perl config file Help

Hi In My config file i have 12.122.12.111:2000 A host and a port number. To read the config file i have written in a perl script like this my %config; open my $config, '<','config' or die "Failed to read file :$!"; Its running fine in HP-UX but showing error in solaris... (2 Replies)
Discussion started by: Harikrishna
2 Replies

3. Shell Programming and Scripting

parsing config file to create new config files

Hi, I want to use a config file as the base file and parse over the values of country and city parameters in the config file and generate separate config files as explained below. I will be using the config file as mentioned below: (config.txt) country:a,b city:1,2 type:b1... (1 Reply)
Discussion started by: clazzic
1 Replies

4. Shell Programming and Scripting

SOLVED: reading config file in a perl script

Hi! I have a need to do this in Perl. script.pl -config file The script would be doing a wget/LWP on a URL which is defined in the config file. So when I run the script it should return either one of these conditions - 1) OK with exit status 0. Should also print "wget URL" 2)... (6 Replies)
Discussion started by: jacki
6 Replies

5. Shell Programming and Scripting

Parsing config-file (perl)

Hi, i'm trying to parse a config file that have alot of rows similar to this one: Example value value value What i want to do is to split and save the row above in a hash, like this: Example = value value value Basically i want to split on the first whitespace after the first... (3 Replies)
Discussion started by: mikemikemike
3 Replies

6. Shell Programming and Scripting

Shell script that will compare two config files and produce 2 outputs 1)actual config file 2)report

Hi I am new to shell scripting. There is a requirement to write a shell script to meet follwing needs.Prompt reply shall be highly appreciated. script that will compare two config files and produce 2 outputs - actual config file and a report indicating changes made. OS :Susi linux ver 10.3. ... (4 Replies)
Discussion started by: muraliinfy04
4 Replies

7. Shell Programming and Scripting

PERL on windows accessing variables from a config file

Folks, I'm a perl moron, so please speak very slowly. : ) I'm modifying a build script that starts up an apache server. Now there is a .config file that hardcodes an old webserver path like this c:\oldWebserver. Now I don't want that hardcoded value, rather wish to use an... (3 Replies)
Discussion started by: MarkoRocko
3 Replies

8. Shell Programming and Scripting

Read from config file and use it in perl program

Hi, I want to configure some values in config file like below work_dir /home/work csv_dir /home/csv sql_dir /home/sqls reportfirst yes and i want to store each value in variable to use it further in my my perl program ?? any thought on this(i am new to perl) ? ... (2 Replies)
Discussion started by: raghavendra.nsn
2 Replies

9. Shell Programming and Scripting

Read Data from Config file using Perl

Hi All, Can anyone please explain me how to read data from config file in Perl. Suppose i have a config file named cfile. The data in config file is name=parth lname=mittal user=2007 hostname=fluoride username=parthmittal password=XXXXXX account=unix url=www.unix.com ... (2 Replies)
Discussion started by: parthmittal2007
2 Replies

10. Shell Programming and Scripting

.Config file in perl

Hi can anybody help me in how to read .config file in Perl, which module is used, and some help in coding. (10 Replies)
Discussion started by: parthmittal2007
10 Replies
CGI::Application::Plugin::Config::Simple(3pm)		User Contributed Perl Documentation	     CGI::Application::Plugin::Config::Simple(3pm)

NAME
CGI::Application::Plugin::Config::Simple - Add Config::Simple support to CGI::Application SYNOPSIS
in your CGI::Application based module use CGI::Application::Plugin::Config::Simple; sub cgiapp_init { my $self = shift; #set my config file $self->config_file('myapp.conf'); # #do other stuff # } #later on in a run mode sub run_mode1 { my $self = shift; #just get a single parameter from my config file my $value = $self->config_param('my_param'); #get a parameter in a block (if using ini style files) $value = $self->config_param('my_block.my_param'); #the entire config hash reference my $config_vars = $self->config_param(); #get my Config::Simple object for direct access my $config = $self->config; } DESCRIPTION
This module acts as a plugin for Config::Simple to be easily used inside of a CGI::Application module. It does not provide every method available from Config::Simple but rather easy access to your configuration variables. It does however provide direct access to the underlying Config::General object created if you want to use it's full power. The module tries to make the getting and setting of configuration variables as easy as possible. Only three methods are exported into your CGI::Application module and they are described below. Before I wrote this module sometimes I would put my code that read in the configuration file into the cgiapp_init() or cgiapp_prerun() methods but then if I had a run mode that didn't need those config variables it was run anyway. This module helps to solve this is. The Config::Simple object is not created (and the config file is not read and parsed) until after your first call to config() or config_param() to either retrieve/set values, or get the Config::Simple object. This lazy loading idea came from Cees Hek's CGI::Application::Plugin::Session module. METHODS
config_param() This method acts as an accessor/mutator for configuration variables coming from the configuration file. This method will behave in three different ways depending on how many parameters it is passed. If 0 parameters are passed then the entire config structure will be returned as a hash ref. If 1 parameters is passed then the value of that parameter in the config file will be returned. If more than 1 parameter is passed then it will treat them as name value pairs and will set the parameters in the config file accordingly. In this case, if we successfully set the parameters then a true value will be returned. #get the complete config hash my $config_hash = $self->config_param(); #just get one config value my $value = $self->config_param($parameter); #set multiple config values my $success = $self->config_param(param1 => $value1, param2 => $value2); This method uses Config::Simple so if you are using ini-files then you can set the values of variables inside blocks as well using the '.' notation. See Config::Simple; You must set the name of the configuration file either using the config_file() method or the CGIAPP_CONFIG_FILE environment variable before calling this method or it will 'die'. config() This method will return the underlying Config::Simple object for more direct use by your application. You must set the name of the configuration file either using the config_file() method or the CGIAPP_CONFIG_FILE environment variable before calling this method or it will 'die'. my $conf = $self->config(); config_file([$file_name]) This method acts as an accessor/mutator to either get the name of the current config file or to change/initialize it. This method must be called to initialize the name of the config file before any call can be made to either config() or config_param() unless the 'CGIAPP_CONFIG_FILE' environment variable has been set. If this environment variable is set it will be used as the initial value of the config file. This is useful if we are running in a mod_perl environment when can use a statement like this in your httpd.conf file: PerlSetEnv CGIAPP_CONFIG_FILE /path/to/my/conf It is typical to set the name of the config file in the cgiapp_init() phase of your application. If a value is passed as a parameter then the config file with that name is used. It will always return the name of the current config file. #get the value of the CGIAPP_CONFIG_FILE environment variable (if there is one) #since we haven't set the config file's name with config_file() yet. my $file_name = $self->config_file(); #set the config file's name $self->config_file('myapp.conf'); #get the name of the config file $file_name = $self->config_file(); CAVEATS
The CGI::Application object is implemented as a hash and we store the variables used by this module's methods inside of it as a hash named __CONFIG_SIMPLE. If you use any other CGI::Application plugins there would be problems if they also used $self->{__CONFIG_SIMPLE} but in practice this should never actually happen. AUTHOR
Michael Peters <mpeters@plusthree.com> Thanks to Plus Three, LP (http://www.plusthree.com) for sponsoring my work on this module SEE ALSO
o CGI::Application o Config::Simple LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.4 2011-11-10 CGI::Application::Plugin::Config::Simple(3pm)
All times are GMT -4. The time now is 06:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy