my # declare the variables in the local scope (guarantees you won't overwrite a variable already in use or capture a value already assigned) ($_configParam,$_paramValue) # A list of variable names that you are declaring, note that coma separated variables between parenthesis are treated similarly to an array for assignment purposes = # and as you declare them you assign them a value split( # a Perl function that splits strings on the basis of a regular expression /\s*=\s*/ # the regular expression to use in the split. any number of space characters, followed by an equals sign followed by any number of space characters , $_ # The second part of the split statement, the string to be split $_ is the default variable, you will see it a lot. , 2); # Limit the split to 2 values, close the call to split and terminste the line with a semi-colon $configParamHash{$_configParam} # in an indexed list keyed on the parameter name = $_paramValue; # assign the value above to a hash entry keyed on the parameter name