Hi folks,
I've got a hash such as:
%masters=('VSL01'=>{'type'=>'S','name'=>'Vehicle Ledger accounts'},
'ALD01'=>{'type'=>'S','name'=>'ALD Automotive Ltd'},
'ALP01'=>{'type'=>'S','name'=>'Alphabet GB Ltd'},
'ANC01'=>{'type'=>'S','name'=>'ANC Rental Group'},
'APP01'=>{'type'=>'S','name'=>'Appleyard Group'},
'ARR01'=>{'type'=>'B','name'=>'Arrive Group'},
'ARV01'=>{'type'=>'S','name'=>'ARVAL PHH Ltd'},
'ATS01'=>{'type'=>'B','name'=>'ATS Group'});
and at the moment I use a join like:
$SQL.=join("', '",keys %masters);
How can I change this so that it only includes those master keys where the
type = 'S'.
I know that I could do it with a foreach/if etc, but seem to think that this
should be a perfect use for map - having never used it and want to play - but
I can't seem to get started.
The closest I got was:
$SQL.=join("', '",map {($masters{$_}{'type'} eq 'S') ? $_ : undef } sort keys
%masters);
but that just returned the same number, but undef for the 'B' entries, causing
null strings to be included and warnings to be printed.
Anyone got any ideas?
--
Gary Stainburn
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]