Супер !!!
Това последното е идеално, popitem е точно това, което ми трябваше. Работи идеално. Аз само малко го изминих да чете от и пише вав файл. Макар че ако веднаж си създал масива @ar, после можеш да правиш каквото си искаш със стойностите.
Например входен файл - input.csv:
1,"123,345",345,"324,232,234",12,"Kasf, sdf","121341,3451,13241,132414,213,421"
2,"1,230","784","234,456",23,"23","123,456,789,123","Abcd, dhjr kjh? Fkjha df,asdf,f fas, fa"
3,"1,230","784","234,456",23,"23"
4,"1,230","784"
open FILE, "input.csv" or die "Cannot open input file";
open OFILE, ">output.txt";
foreach $input (<FILE>) {
while ($input)
{
($obj, $input) = popitem($input);
push(@ar,$obj);
}
for ($i;$i<@ar;$i++){print OFILE $ar[$i]."|";}
print OFILE "\n";
}
print "Done\n";
sub popitem {
my $in = shift;
my @out;
if ($in =~ m/^(\d+),(.*)/) {
$out[0] = $1;
$out[1] = $2;
return @out;
} elsif ($in =~ m/^"(.+?)",(.*)/) {
$out[0] = $1;
$out[1] = $2;
return @out;
} else {
$in =~ s/"//g; $out[0] = $in;
return @out;
}
}
а изходеня файл - output.txt ще има следния вид:
1|123,345|345|324,232,234|12|Kasf, sdf|121341,3451,13241,132414,213,421|
2|1,230|784|234,456|23|23|123,456,789,123|Abcd, dhjr kjh? Fkjha df,asdf,f fas, fa|
3|1,230|784|234,456|23|23|
4|1,230|784|
Още веднаж, благодаря много за помоща!
|