|
Тема |
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
|
| |
|
|
|