DOCUMENTATION

SYNOPSIS

PERL PERL PROGRAM NAME: oop_prog_params
AUTHOR: 	Juan Lorenzo
DATE: 		2018

DESCRIPTION 
    

BASED ON:
Version 0.0.2 July 26 2018   
changed _private_* to _*
removed exceptions to data_in and data_out

USE

NOTES

=head_for_ Examples

CHANGES and their DATES

Version 0.0. _for_ Oct 5, 2018 suffixes and prefixes to program parameter values are allowed by importing the conditions set in each 'program_spec.pm module

V 0.0.3 September 1 2019
Allows multiple-valued parameters (e.g., curve1, curve2 in suximage) 
each each with a separate prefix  ->label(quotemeta($PREFIX.'/'.$curve1,$PREFIX.'/'.$curve2));
Changes occur in get_a_section
Only one suffix and prefix allowed per label

Instantiation

program parameters

private hash

sub _get_prefix_aref

obstain prefix values externally for the module
MUST first use prefix_aref method to 
set prefixes internally 

use program_name_spec.pm
bring in a different module 
each program
prefix rules are in *_spec.pm
prefixes can include a directory path e.g.,

sub _get_suffix_aref

use program_name_spec.pm
to bring in a different module 
for each program
suffix rules are in *_spec.pm

bring in suffixes, if they exist

sub _get_prefix_for_a_label

To place a prefix in front of a sunix parameter for o/p to a perl flow

sub _set_label_for_a_prefix

sub get_a_section

Herein, the output text is assembled

In order to write the following: e.g., $sugain ->clear(); $sugain ->pbal(1); $sugain[1] = $sugain->Step(); e.g., $suop2 ->clear(); $suop2 ->file1(quotemeta($SEISMIC_PL_SU.'/'.'100_clean'); $suop2 ->op('diff')

JML 9-1-19 e.g.,
 $suximage 	 	 	 ->curvefile(quotemeta($DATA_SEISMIC_TXT.'/'.'curve1,curve2'));