Hello and thank you again for your time.
I have been trying to figure this out for a few hours now. Arrays, hashes, array of hashes, hash of arrays, etc., they have always been confusing for me.
I am reading a small XML file with 6 values.
$VAR1 = { 'version' => '2.0', 'xmlns:media' => 'http://search.yahoo.com/mrss/', 'fileSet' => { 'time' => '1499387013', 'fileName' => 'Atlanta_Regency.gif', 'emailAddress' => 'johndoe@gmail.com', 'requesterName' => 'John Doe', 'showAbbreviation' => {}, 'zoneColor' => '0' } };
Only 'showAbbreviation' may or may not be empty. All others will always have a value. I've tried this...
my $showAbbreviation = $current->{'fileSet'}->{'showAbbreviation'}; if ( not defined $showAbbreviation ) { $showAbbreviation = ""; }
And this...
if (exists $current->{'fileSet'}->{'showAbbreviation'} ) { $showAbbreviation = $current->{'fileSet'}->{'showAbbreviation'}; print "Yes: $showAbbreviation\n"; } else { $showAbbreviation = ""; print "No: $showAbbreviation\n"; }
I thought one of those would do the trick, but it is giving me back a 'HASH(0xd6a9690)' type value instead of an empty String value. I've tried exists and defined and not defined etc., but nothing is giving me the response I want.
What am I missing? This should be fairly easy I would think. Please help me understand, and thank you!
In reply to If hash not defined help by johnfl68
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |