Article View: pl.comp.lang.perl
Article #404Re: Czyszczenie mojego archiwum :(
From: Wladyslaw A. Russocki
Date: Tue, 24 Jun 1997 14:01
Date: Tue, 24 Jun 1997 14:01
56 lines
2933 bytes
2933 bytes
Robert M. Czerwinski wrote:
>
> Vtam,
>
> Niestety nie moge sobie poradzic z chyba dosc prostym ( niestety )
> zadaniem :(.
> Administruje archiwum ulokowanum na UNIXie ( SunSITE ) a zarzadzanym z PC
> ( generator html itp ). Problem jest taki, ze ludzie czesto zmieniaja nazwy
> swoich plikow, tak ze w moim archiwum pojawiaja sie "martwe" pliki, ktore
> nie maja opisu na stronach html i powinny byc usuniete. Lista wszystkich
> plikow jakie POWINNY byc w moim archiwum jest dostepna na UNIXie (
> wykozystywana przez search engine napisany w perlu ), a wyglada mniej
> wiecej tak
> nazwa_pliku^katalog^co_tam^cos_tam^ ....
> ( posortowane w/g nazw plikow, a nie katalogow - jakby sie ktos pytal )
>
> problem polega na tym, ze jestem w stanie ( no, no, ale bystrzacha ;) )
> zrobic dwie listy:
> @powinno wczytane z opisanego pliku
> @jest lista zrobiona przez find
>
> "algorytm" czyszczenia jest silowy: w petli dla kazdego pliku z
> @powinno jest sprawdzana lista @jest ( tez w peli foreach - moze da sie
> to jakos prosciej ? ). W przypadku jesli element z listy @powinno odpowiada
> elementowi z listy @jest to te oba elementy powinny byc ze swoich list
> usuniete. Niby proste, ale jak usuwac|nie usuwac elementy z listy, gdy
> dostep do elementow jest przez foreach $one_file ( @powinno ) { }
> Poza tym, taka petla w petli da od diaska operacji :(
>
> Po takiej operacji w listach powinno mi zostac:
> @powinno : nic, jak cos jest to sa jakies niewlasciwe wpisy
> @jest : to co do skasowania
Hello,
W pierwszym wydaniu "Programming Perl" (Camel book), w rozdziale no. 6,
znajduje sie podrozdzial: "Computing the difference of two arrays".
Oto zamieszczony w nim program:
------------------------------------------------------------
@rollerskaters=('adam','dale','loredana','merlyn','vicki');
@pilots=('geoff','jim','merlyn','rick');
local(%mark);
grep($mark{$_}++,@rollerskaters);
@nonskatingpilots=grep(!$mark{$_},@pilots);
print "@nonskatingpilots\n";
------------------------------------------------------------
Warto tez przeczytac artykul o listach w "Unix Review" z listopada 1996:
http://www.teleport.com/~merlyn/UnixReview
Zycze powodzenia
Wladyslaw Russocki
Technical Details
Message-ID:
<33AFD324.F7@worldnet.fr>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!news.nask.pl!usenetReferences:
<79377.robert@asp.biogeo.uw.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!news.nask.pl!usenet From: "Wladyslaw A. Russocki" <russocki@worldnet.fr> Newsgroups: pl.comp.lang.perl Subject: Re: Czyszczenie mojego archiwum :( Date: Tue, 24 Jun 1997 16:01:08 +0200 Organization: Credintrans Lines: 56 Message-ID: <33AFD324.F7@worldnet.fr> References: <79377.robert@asp.biogeo.uw.edu.pl> Reply-To: russocki@worldnet.fr NNTP-Posting-Host: cicgate.cicomore.fr Mime-Version: 1.0 X-Mailer: Mozilla 3.0 (WinNT; I) To: "Robert M. Czerwinski" <robert@asp.biogeo.uw.edu.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit