|
Тема
|
Delete na edinred sled pozicionirane sys seek
|
|
Автор | seek (Нерегистриран) |
Публикувано | 27.11.03 10:29 |
|
zraveite
zna4i iskam da iztriq samo edin red ot edin moi fail, no taka , 4e posle da ne se polu4i prazen red na negovoto mqsto
redovete sydyrjat danni razdeleni na 6 4asti sys znaka '=' i vseki red e dylyg 137 simvola. otivam sys funkciqta seek nato4noto mqsto no neznam kak da iztriq tozi red, shte dam primer:
sysopen(DEL, $library, O_RDWR|O_CREAT) or die "Cannot open file $library: $!";
flock(DEL, LOCK_EX) or die "Cannot flock $library: $!";
my ($var, @vars, $i);
while ($var = <DEL>) {
$i++; ## tazi promenliva mi pokazva to4niqt red
chomp $var;
foreach (split(/=/, $var)) {
push @vars, $_;
if ($_ =~ /($param)/) {
seek(DEL, 137 * $i, 0) or die "cant seek: $!";
truncate(<DEL>, 137); #tova neznam kak da go izpolzvam
close DEL;
exit(0);
}
}
}
kajete mi kakvo da izpolzvam na mqstoto na truncate .napravih edno probno kato zapisha primerno linii tam no te samo se dozapisaha sled vsi4ko:
print DEL "-" x 137; ili me naso4ete kym nqkoi modul koito vyrshi tazi rabota
mnogo shte symvi blagodarenda mi pomognete
| |
Тема
|
Re: Delete na edinred sled pozicionirane sys seek
[re: seek]
|
|
Автор | LEGO (Нерегистриран) |
Публикувано | 04.12.03 21:18 |
|
ne e li
truncate DEL,137;
| |
Тема
|
Re: Delete na edinred sled pozicionirane sys seek
[re: seek]
|
|
Автор | fork (Нерегистриран) |
Публикувано | 09.12.03 22:24 |
|
Ako te kefi da si pravish progrmata slzno neefektivna - davai sus seek i truncate.
Slaed kato znaesh kakvo tutrsish (koi red):
$reg = rq/pattern_za_otkrivane_na_reda/;
s/$reg\n//mg while (<FH>)
| |
|
|
|
|