🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
2 messages
2 total messages Started by Robert M. Czerwinski Tue, 24 Jun 1997 01:08
Czyszczenie mojego archiwum :(
#403
Author: Robert M. Czerwinski
Date: Tue, 24 Jun 1997 01:08
45 lines
2648 bytes
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  

Dzieki z gory za wszelkie uwagi, sugestie  ( no poza gon sie, albo cos 
podobnego :) )

Pozdawiam,
Robert
   


--
==============================================================
Robert M. Czerwinski        mail:  robert@asp.biogeo.uw.edu.pl
Warsaw University/Poland                       
Visit my Delphi Super Page:  http://sunsite.icm.edu.pl/delphi/
==============================================================                                                                                                                                                                                                 
Re: Czyszczenie mojego archiwum :(
#404
Author: Wladyslaw A. Russocki
Date: Tue, 24 Jun 1997 14:01
56 lines
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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads