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
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
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
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
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
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
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
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
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
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
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
LEARN ABOUT DEBIAN
hash::withdefaults
Hash::WithDefaults(3pm) User Contributed Perl Documentation Hash::WithDefaults(3pm)
NAME
Hash::WithDefaults - class for hashes with key-casing requirements supporting defaults
version 0.05
SYNOPSIS
use Hash::WithDefaults;
%main = ( ... );
tie %h1, 'Hash::WithDefaults', {...};
tied(%h1)->AddDefault(\%main);
tie %h2, 'Hash::WithDefaults', [...];
tied(%h2)->AddDefault(\%main);
# now if you use $h1{$key}, the value is looked up first
# in %h1, then in %main.
DESCRIPTION
This module implements hashes that support "defaults". That is you may specify several more hashes in which the data will be looked up in
case it is not found in the current hash.
Object creation
tie %hash, 'Hash::WithDefault', [$case_option], [\%values];
tie %hash, 'Hash::WithDefault', [$case_option], [@values];
tie %hash, 'Hash::WithDefault', [$case_option], [%values];
The optional $case_option may be one of these values:
Sensitive - the hash will be case sensitive
Tolower - the hash will be case sensitive, all keys are made lowercase
Toupper - the hash will be case sensitive, all keys are made uppercase
Preserve - the hash will be case insensitive, the case is preserved
Lower - the hash will be case insensitive, all keys are made lowercase
Upper - the hash will be case insensitive, all keys are made uppercase
If you pass a hash or array reference or an even list of keys and values to the tie() function, those keys and values will be COPIED to the
resulting magical hash!
After you tie() the hash, you use it just like any other hash.
Functions
AddDefault
tied(%hash)->AddDefault(\%defaults);
This instructs the object to include the %defaults in the search for values. After this the value will be looked up first in %hash itself
and then in %defaults.
You may keep modifying the %defaults and your changes WILL be visible through %hash!
You may add as many defaults to one Hash::WithDefaults object as you like, they will be searched in the order you add them.
If you delete a key from the tied hash, it's only deleted from the list of specific keys, the defaults are never modified through the tied
hash. This means that you may get a default value for a key after you deletethe key from the tied hash!
GetDefaults
$defaults = tied(%hash)->GetDefaults();
push @$defaults, \%another_default;
Returns a reference to the array that stores the defaults. You may delete or insert hash references into the array, but make sure you
NEVER EVER insert anything else than a hash reference into the array!
Config::IniHash example
use Config::IniHash;
$config = ReadIni $inifile, withdefaults => 1, case => 'preserve';
if (exists $config->{':default'}) {
my $default = $config->{':default'};
foreach my $section (keys %$config) {
next if $section =~ /^:/;
tied(%{$config->{$section}})->AddDefault($default)
}
}
And now all normal sections will get the default values from [:default] section ;-)
AUTHOR
Jan Krynicky <Jenda@Krynicky.cz> http://Jenda.Krynicky.cz
COPYRIGHT
Copyright (c) 2002-2009 Jan Krynicky <Jenda@Krynicky.cz>. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-05-26 Hash::WithDefaults(3pm)