On 2-Feb-05, at 1:09 PM, Wagner, David --- Senior Programmer Analyst --- WGO wrote:

Kevin Horton wrote:
I'm a perl newbie working on a script to log data from a device that
sends more variables than I need to log.  I have a working prototype
script, with the list of variables to be logged hard-coded, which
means I need to edit the script any time I need to change the items
to be printed.

Now I want to extend the script to use a configuration file to define
the list of variables to be logged, and the order to write them to the
log file.  I've been messing around with this for many hours, and I've
dug through the various perl man pages, plus Perl in a Nutshell, and
Programming Perl, but I'm not making any progress.

My working prototype script with the hard-coded list of variables
prints output with the following line:

print OUTPUT
"$data_time\t$TACH\t$MP\t$FUEL_FLOW\t$QTY\t$CHT1\t$CHT2\t$CHT3\t$CHT4\ t$
EGT1\t$EGT2\t$EGT3\t$EGT4\t$OILT\t$OILP\t$VOLT\t$OAT\t$UNIT_TEMP\n";


I've got a config file that I read to create an array of variable
names that should be logged.  The first few items in @variable_list
are:

data_time
TACH
MP
FUEL_FLOW

I would greatly appreciate any hints on how I can use the data in
@variable_list to print just the variables I want.

Kevin, I would change it to a hash and then either use some type of regex against the keys to get what you want to print out or bypass.


But, I also need to control the order the variables are printed. I understood that if you access the keys in a hash the order you get them is random. I guess I could create a hash with just the variables I want, with the keys being numbers. I could then pull the variable for each key in order. But, I still don't understand the syntax I need. I.e. once I pull a variable name out of the hash, how do I print that variable? I tried messing around with symbolic references, but I couldn't get them to work.

Thanks,

Kevin


-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to