http://qs1969.pair.com?node_id=1140776


in reply to Trying to capture a value from a list of values

parthodas,

Here's how I would like to see your script: ( YMMV )

use strict; . . . my @mylnxsrvrs = split(',', $myhash{SBLLNXSRVRHOSTS}); foreach my $something ( @mylnxsrvrs ) { my $lnxsrvr = "$something"; print "$something $lnxsrvr\n\n"; } print "$lnxsrvr\n"; ## Undefined now! print "@mylnxsrvrs";
Save the 'printf' for formatted printing, so that it becomes obvious upon review. And if you had used structures, you would have known that '$lnxsrvr' is undefined when you exit the 'foreach' loop. Perl allows for generous whitespace, so use whitespace to help you follow the flow of your work. Originally when I looked at your code, I didn't notice the closure to the 'foreach' loop.

But I suspect your problem is in the 'split' and without seeing what '$myhash{SBLLNXSRVRHOSTS})' looks like, we can't help solve your problem.

Regards...Ed

"Well done is better than well said." - Benjamin Franklin