Mam zestaw rekord, który wygląda takWymień przecinki z rur, ale nie przecinki ujęty w cudzysłowy
"BOSW0001","Mr","Wayne","Boswell","Wayne,Jessica & Lyn","31 Baker St"
"ELLI0007","Mrs","Bronwyn","Elliott","Bronwyn, Paul & Arianne","98A Dandaraga Rd"
"KENN0001","Mr","Leigh","Kenning","Leigh & Beth,Cole","22 Lake St"
Chcę zastąpić przecinek (,
) z rury (|
) bez wymiany przecinek wewnątrz:
"Leigh & Bethie,Coles"
"Waynez,Jessy & Lyne"
"Bronwynie, Paula & Arianne"
Jak mogę to zrobić, używając wyrażenia regularnego lub innych metod?
W twoim niesprawdzonym przykładzie są 3 błędy: 1. 'readline' powinno być' getline'; 2. opcje "nowego" powinny być w haszowaniu, tzn. 'Nowym ({sep_char => '|'})'; 3. możesz potrzebować opcji 'eol' (domyślnie jest to' $ \ 'i' $ \ 'jest domyślnie undef), aby zapobiec drukowaniu wszystkich wierszy w jednym wierszu. Może możesz użyć 'new ({sep_char => '|', eol => $ /})'. – doubleDown
@doubleDown dzięki - zaktualizowany. – friedo