webForumDet fria alternativet

Ta bort fil i Perl

Perl & Ruby

6 svar · 405 visningar · startad av Muzzafarath

Medlem sedan apr. 20002 487 inlägg
Frågan#1

Ja, hur tar man bort en fil i Perl?

Muzzafarath

Medlem sedan feb. 2000438 inlägg
#2

$filnamn = "filen.txt";
unlink($filnamn);

http://www.perl.com/pub/doc/manual/html/pod/perlfunc/unlink.html

/Csson

[Redigerat av Csson den 06 jul 2000]

Medlem sedan apr. 20002 487 inlägg
#3

Tack för hjälpen.

Unlink... Jo, det var ju lite... ologiskt tycker jag ;) delete_file tycker jag är ett bätre namn :)

Muzzafarath

Medlem sedan dec. 19992 555 inlägg
#4

Beror på att man inte "deletar" en fil i Unix, man bara tar bort länkar till den. En fil kan ha flera länkar till sig, och så länge det finns någon länk kvar så finns också filen kvar. Först när den sista länken är borta så raderas filen (och det sker automatiskt).

Därav namnet på funktionen alltså. :)

------------------
Robban < robban@lipogram.com >

Medlem sedan apr. 20002 487 inlägg
#5

Om jag har en fil, vi kallar den saken.htm, och jag inte skapar några länkar till den, finns inte den filen då? Eller skapas länkar automatiskt?

Muzzafarath

Medlem sedan dec. 19992 555 inlägg
#6

Skapar du en fil så skapas (kraftigt förenklat) ett stycket utrymme på hårddisken, och en länk till filen. Och det är via länken du kommer åt filen (representeras alltså av filnamnet). Tar du sedan bort denna länk (med unlink), och inga andra länkar är skapade till samma fil, så går det ju inte att komma åt filen längre, och då tar Unix bort den. Men om du använder unlink på filnamnet och andra länkar existerar till samma fil, så raderas inte själva filen utan bara den aktuella länken till den.

------------------
Robban < robban@lipogram.com >

Medlem sedan apr. 20002 487 inlägg
#7

Hmm, jo det låter ju logiskt... Tack så mycket för svaren!

Muzzafarath

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)