Forum Webscript.Ru
Программирование => Perl => Тема начата: Billi от 12 Июля 2004, 16:18:17
-
Уменя есть таблица в тестовом файле я разбиваю, в 2d массив для сортировки и т.д.
...
@a3=split(/,$text);#$text =\'t1>t2>t3t12>t13\'
$index=0;
foreach(@a3)
{
@{$a3[$index]}=split(/>/,$a3[$index]);
$index++;
}
...
Все рабоет, но насколько это грамотно написано, нельзяли сделать лучше (бустрее, оптимальнее) ?
-
не очень понял вопроса... Почему не использовать обычный массив?
например так:
my $text="DSvdfs<>AV";
$text=~s/*/g;
$text=~s/>/*/g;
my @arr=split(/\\*/, $text);
print join(",", @arr);
Правда не забываем что регеплексы медленные...
-
commander
Тогда уж проще:
my $text="DSvdfs<>AV";
my @arr=split(/[<>]/, $text);
И не надо лишних регулярных выражений... но вопрос не в этом, я лично вижу ответ только в оптимизации представленного кода:
my $text =\'t1>t2>t3t12>t13\';
my (@array, $i);
foreach(split(/,$text)) {
@{$array[$i]}=split(/>/,$_);
$i++
}