%csv_data = ( '13341_27276.01' => 'BMVG_ACE.txt / SCVG_ACE.txt / SC_ACE.txt|CONFIRMED|13304|21114.01|20060602|20060530|2261957|US2471311058|DELGI GROUP|DELGI GROUP|US/ USD|US/ USD|DFG UN Eq|STK_DIV|Stock dividend / Bonus|28616000.000000|42924000.000000|||1.000000|1.000000|[3] / [2]||S 1 : 2|||||40301020|40301020|Life & Health |Life & Health |', '13304_21114.01' => 'BMVG_ACE.txt / SC_ACE.txt|CONFIRMED|13304|21114.01|20060602|20060530|2261957|US2471311058|DELGI GROUP|DELGI GROUP|US/ USD|US/ USD|DFG UN Eq|STK_DIV|Stock dividend / Bonus|28616000.000000|42924000.000000|||1.000000|1.000000|[3] / [2]||S 1 : 2|||||40301020|40301020|Life & Health |Life & Health |', '10291_24687.01' => 'BMVG_ACE.txt|CONFIRMED|10291|24687.01|20060602|20060601|2227584|US4534141043|INDEPENDENCE CMNTY ||US/ USD|/|ICBC UQ Eq|ACQ|Agreement: cas|82332000.000000||||0.900000|||||||||40102010||Thrifts & Mortgage Finance||', ); #### %csv_data = ( 'BMVG_ACE.txt' => { '13304_21114.01' => 'BMVG_ACE.txt|CONFIRMED|13304|21114.01|20060602|20060530|2261957|US2471311058|DELGI GROUP|DELGI GROUP|US/ USD|US/ USD|DFG UN Eq|STK_DIV|Stock dividend / Bonus|28616000.000000|42924000.000000|||1.000000|1.000000|[3] / [2]||S 1 : 2|||||40301020|40301020|Life & Health |Life & Health |', '13071_27356.01' => 'BMVG_ACE.txt|EXPECTED|13071|27356.01|20060607|20060515|2407632|US4433201062|HUB GROUP A|HUB GROUP A|US/ USD|US/ USD|HUBG UQ Eq|STK_DIV|Stock dividend / Bonus|19948000.000000|39896000.000000|||0.900000|0.900000|[2] / [1]||S 1 : 1|||||20301010|20301010|Air Freight & Logistics|Air Freight & Logistics|', '13341_27276.01' => 'BMVG_ACE.txt|EXPECTED|13341|27276.01|20060614|20060601|2985514|US9838571035|X-RITE|X-RITE|US/ USD|US/ USD|XRIT UQ Eq|ACQ|Tender offer: share (or cas and share)|21241000.000000|28583426.000000|||0.900000|0.950000||||||||45203010|45203010|Electronic Equipment Manufacturers|Electronic Equipment Manufacturers|', '10291_24687.01' => 'BMVG_ACE.txt|CONFIRMED|10291|24687.01|20060602|20060601|2227584|US4534141043|INDEPENDENCE CMNTY ||US/ USD|/|ICBC UQ Eq|ACQ|Agreement: cas|82332000.000000||||0.900000|||||||||40102010||Thrifts & Mortgage Finance||', }, 'EM_ACE.txt' => { '13331_34127.01' => 'EM_ACE.txt|CONFIRMED|13331|34127.01|20060615|20060601|B154564||| OF CHINA H|/|CN/ HKD|3988 HK Eq|IPO|IPO||243510368009.000000||0.080000||0.080000|||||1||||40101010||Diversified s|', '12888_15186.01' => 'EM_ACE.txt|CONFIRMED|12888|15186.01|20060607|20060601|6477169|JO3100411011|JORDAN ELECTRIC POWER|JORDAN ELECTRIC POWER|JO/ JOD|JO/ JOD|JOEP JR Eq|STK_DIV|Stock dividend / Bonus|50000000.000000|60000000.000000|0.750000|0.750000|0.750000|0.750000|[1.2] / [1]||S 0.2 : 1|1|1|||55101010|55101010|Electric Utilities|Electric Utilities|', }, 'RMS_ACE.txt' => { '13337_25418.01' => 'RMS_ACE.txt|CONFIRMED|13337|25418.01|20060602|20060601||US9396531017|WASHINGTON REAL ESTATE|WASHINGTON REAL ESTATE|US/ USD|US/ USD|WRE UN Eq|PUB_OFF|Public offer to institutions|42139000.000000|44853159.000000|||1.000000|1.000000|||Publpl 2600000 @ USD 34.4 ( + UPDATED )|1|1|||40402010|40402010|Diversified REIT\'s|Diversified REIT\'s|' }, 'DMVG_ACE.txt' => { '13219_10955.03' => 'DMVG_ACE.txt|EXPECTED|13219|10955.03|20060609|20060524||||ELECTROLUX (DETACHED)|/|SE/ SEK||SPIN|Spun off NOT traded on the ex date||299418000.000000||0.900000|||||||1||1||25201040||Household Appliances|', '12895_27013.01' => 'DMVG_ACE.txt|EXPECTED|12895|27013.01|20061218|20060504|2695620|KYG372601099|GARMIN|GARMIN|US/ USD|US/ USD|GRMN UQ Eq|STK_DIV|Stock dividend / Bonus|108120000.000000|215874000.000000|0.550000|0.550000|||[2] / [1]||S 1 : 1|1|1|0|0|25201010|25201010|Consumer Electronics|Consumer Electronics|', '13317_12706.01' => 'DMVG_ACE.txt|EXPECTED|13317|12706.01|20060615|20060531|0807041|GB0008070418|INVENSYS|INVENSYS|GB/ GBP|GB/ GBP|ISYS LN Eq|RTS|Right of new underlying share|5687363013.000000|7962308218.000000|1.000000|1.000000|||If 0.15 > P(t-1) then 1 else [P(t-1)] / [(P(t-1) * 5 + 0.3) / 7]||R 2 : 5 @ GBP 0.15|1|1|0|0|20106020|20106020|Industrial Machinery|Industrial Machinery|', '13338_18538.01' => 'DMVG_ACE.txt|CONFIRMED|13338|18538.01|20060606|20060601|4031976|DE0005003404|ADIDAS-SALOMON|ADIDAS-SALOMON|DE/ EUR|DE/ EUR|ADS GY Eq|SPLIT|Split|50761755.000000|203047020.000000|1.000000|1.000000|||[4] / [1]||Split 4 : 1|1|1|1|1|25203010|25203010|Apparel; Accessories & Luxury Goods|Apparel; Accessories & Luxury Goods|', }, 'EMVG_ACE.txt' => { '13331_34127.01' => 'EMVG_ACE.txt|CONFIRMED|13331|34127.01|20060615|20060601|B154564||| OF CHINA H|/|CN/ HKD|3988 HK Eq|IPO|IPO||243510368009.000000||0.080000||0.080000|||||1||||40101010||Diversified s|', '12888_15186.01' => 'EMVG_ACE.txt|CONFIRMED|12888|15186.01|20060607|20060601|6477169|JO3100411011|JORDAN ELECTRIC POWER|JORDAN ELECTRIC POWER|JO/ JOD|JO/ JOD|JOEP JR Eq|STK_DIV|Stock dividend / Bonus|50000000.000000|60000000.000000|0.750000|0.750000|0.750000|0.750000|[1.2] / [1]||S 0.2 : 1|1|1|||55101010|55101010|Electric Utilities|Electric Utilities|', }, 'APVG_ACE.txt' => { '13331_34127.01' => 'APVG_ACE.txt|CONFIRMED|13331|34127.01|20060615|20060601|B154564||| OF CHINA H|/|CN/ HKD|3988 HK Eq|IPO|IPO||243510368009.000000||0.080000|||||||1||||40101010||Diversified s|', '13330_24527.01' => 'APVG_ACE.txt|EXPECTED|13330|24527.01|20060616|20060601|6501314|JP3258200009|KIRIN BEVERAGE CORP||JP/ JPY|/|2595 JT Eq|ACQ|Tender offer: cas only|55002370.000000||0.400000|||||||0|0|||30201030||Soft Drinks||', '13330_11642.01' => 'APVG_ACE.txt|EXPECTED|13330|11642.01|20060616|20060601|6493745|JP3258000003|KIRIN BREWERY CO|KIRIN BREWERY CO|JP/ JPY|JP/ JPY|2503 JT Eq|ACQ|Tender offer: cas only|984508000.000000|984508000.000000|0.800000|0.800000||||||1|1|||30201010|30201010|Brewers|Brewers|' }, 'DM_ACE.txt' => { '13219_10955.03' => 'DM_ACE.txt|EXPECTED|13219|10955.03|20060609|20060524||||ELECTROLUX (DETACHED)|/|SE/ SEK||SPIN|Spun off NOT traded on the ex date||299418000.000000||0.900000|||||||1||1||25201040||Household Appliances|', '12895_27013.01' => 'DM_ACE.txt|EXPECTED|12895|27013.01|20061218|20060504|2695620|KYG372601099|GARMIN|GARMIN|US/ USD|US/ USD|GRMN UQ Eq|STK_DIV|Stock dividend / Bonus|108120000.000000|215874000.000000|0.550000|0.550000|||[2] / [1]||S 1 : 1|1|1|0|0|25201010|25201010|Consumer Electronics|Consumer Electronics|', }, 'PMVG_ACE.txt' => { '12280_16814.01' => 'PMVG_ACE.txt|EXPECTED|12280|16814.01|20060612|20060329|2345022|US31410H1014|FEDERATED DEPT STORES|FEDERATED DEPT STORES|US/ USD|US/ USD|FD UN Eq|STK_DIV|Stock dividend / Bonus|272216000.000000|543734000.000000|||1.000000|1.000000|[2] / [1]||S 1 : 1|||||25503010|25503010|Department Stores|Department Stores|', '12895_27013.01' => 'PMVG_ACE.txt|EXPECTED|12895|27013.01|20061218|20060504|2695620|KYG372601099|GARMIN|GARMIN|US/ USD|US/ USD|GRMN UQ Eq|STK_DIV|Stock dividend / Bonus|108120000.000000|215874000.000000|||0.550000|0.550000|[2] / [1]||S 1 : 1|||||25201010|25201010|Consumer Electronics|Consumer Electronics|', }, 'SCVG_ACE.txt' => { '13304_21114.01' => 'SCVG_ACE.txt|CONFIRMED|13304|21114.01|20060602|20060530|2261957|US2471311058|DELGI GROUP|DELGI GROUP|US/ USD|US/ USD|DFG UN Eq|STK_DIV|Stock dividend / Bonus|28616000.000000|42924000.000000|||1.000000|1.000000|[3] / [2]||S 1 : 2|||||40301020|40301020|Life & Health |Life & Health |', '13027_27037.01' => 'SCVG_ACE.txt|CONFIRMED|13027|27037.01|20060602|20060530|2432214|US4357583057|HOLLY CORP|HOLLY CORP|US/ USD|US/ USD|HOC UN Eq|STK_DIV|Stock dividend / Bonus|29008000.000000|58016000.000000|||0.700000|0.700000|[2] / [1]||S 1 : 1|||||10102030|10102030| Refining & Marketing| Refining & Marketing|', }, 'SC_ACE.txt' => { '13304_21114.01' => 'SC_ACE.txt|CONFIRMED|13304|21114.01|20060602|20060530|2261957|US2471311058|DELGI GROUP|DELGI GROUP|US/ USD|US/ USD|DFG UN Eq|STK_DIV|Stock dividend / Bonus|28616000.000000|42924000.000000|1.000000|1.000000|||[3] / [2]||S 1 : 2|||||40301020|40301020|Life & Health |Life & Health |', '13320_31110.01' => 'SC_ACE.txt|CONFIRMED|13320|31110.01|20060605|20060531|2745837|US0400491082|ARENA RESOURCES|ARENA RESOURCES|US/ USD|US/ USD|ARD UA Eq|PRIV_PL|Private placement to strategic|13227000.000000|14511655.000000|0.850000|0.800000|||||Privpl 1150000 @ USD 28.04 ( + UPDATE )|||||10102020|10102020| & Production| & Production|', '13341_27276.01' => 'SC_ACE.txt|EXPECTED|13341|27276.01|20060614|20060601|2985514|US9838571035|X-RITE|X-RITE|US/ USD|US/ USD|XRIT UQ Eq|ACQ|Tender offer: share (or cas and share)|21241000.000000|28583426.000000|0.900000|0.950000||||||||||45203010|45203010|Electronic Equipment Manufacturers|Electronic Equipment Manufacturers|', '13036_23817.01' => 'SC_ACE.txt|EXPECTED|13036|23817.01|20060614|20060531|5768585|GRS338163009|HYATT REGENCY HOTEL||GR/ EUR|/|HYATT GA Eq|ACQ|Tender offer: cas only|84000000.000000||0.500000|||||||||||25301020||Hotels; Resorts & Cruise Lines||' } ); #### foreach $file ( sort keys %csv_data ) { #file SCVG_ACE.txt foreach $item ( %{$csv_data{$file} }) { #item 13304_21114.01 if (exists($csv_data{$file}{$item})){ #if the item is found again add the filename to the #first element of the value $csv_data{$file}{$item} = s/^([^\|]*)\|/$1\/$file\|$csv_data{$file}{$item}/; } else { # maintain the normal data } } }