perl ver bilan ajratilgan chiziq.5.10

Possible Duplicate:
Split with line with perl

Mening satrim:

producător: Carlo Ponti director de imagine: Piero Poletto monteur: Adriana Novelli Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)

Bo'lishni xohlayman:

producător: Carlo Ponti 
director de imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)

Laynlar soni farq qilishi mumkin. Lookbehind Nol kenglikli iddaolar bilan harakat qildim:

split /(?=\S+:\s*)/, $line

Agar chiziq kolonadan oldin bir nechta so'zni (ikki yoki uch yoki undan ortiq) ishlasa ("rejissyor ham tasavvur qiling:" fotografiya mudiri: "badiiy direktor:" va hokazo) quyidagi bo'linadi:

producător: Carlo Ponti director de
imagine: Piero Poletto
monteur: Adriana Novelli
Distribuţia: Faye Dunaway (Julia) Marcello Mastroianni (Valerion) Caroline Mortimer (Maggie)     
4
Bu savol sizning bu savolni berganingizdan ikki marta farq qiladimi?
qo'shib qo'ydi muallif CanSpice, manba

1 javoblar

Siz o'zboshimchalik bilan paydo bo'ladigan "sarlavhalar" dan boshqa qatorlarni ajratish uchun bizga hech qanday mezon bermadingiz. So'nggi tashqari, barcha sarlavhalaringiz ham pastki ko'rinishda ko'rinadi.

Shuning uchun sizning sarlavhalaringiz statik bo'lib qoladi deb o'ylayman va quyidagilarni taklif qilaman:

$line =~ /producător: (.*?) director de imagine: (.*?) monteur: (.*) Distribuţia: (.*)/;
print "producător: $1\n";
print "director de imagine: $2\n";
print "monteur: $3\n";
print "Distribuţia: $4\n";

Agar siz split uchun ko'proq foydali mezonlarni taqdim etsangiz, yaxshi javob bera olaman.

2
qo'shib qo'ydi