[perl] огромная строка
либо вчитай его целиком, разбей по символам и вперед
seek + tellпоковырял маны но так и не понял что они творят и как эот использовать, пример можешь привести?
дополнительный вопрос - как в перл читать файла по байтам?
#!usr/bin/perl
# Создаем массив хэшей с информацией о подстроках:
# offset - расстояние до подстроки от начала файла
# length - длина подстроки
my @substrings = (
{
offset => 3,
length => 2
},
{
offset => 7,
length => 3
}
);
open(F, $ARGV[0]) or die "Can't open file '$ARGV[0]': $!";
my $buffer;
foreach my $substring (@substrings)
{
# Ставим указатель в нужное место файла
seek(F, $substring->{offset}, 0);
# Зачитываем, что нужно в переменную $buffer
read(F, $buffer, $substring->{length});
print "'$buffer'\n";
}
close F;
Я тестировал на такой строке: "012aa56bbb9". Вырезал из нее буквы.
read(F, $buffer, $substring->{length});Большое спасибо, то что нужно... seek+read вырвали 700000 кусков из 49 файлов менее чем за 10 минут
![](/images/graemlins/laugh.gif)
Оставить комментарий
Sasha21
допустим есть файл весом 150мб и представляющая собой одну строку.как быстрее всего вырезать из нее примерно 10000 всяческий перекрывающихся подстрок с известными координатами?