Loading ...
Sorry, an error occurred while loading the content.

Re: [roPerl] Perl question

Expand Messages
  • Cristi
    Sorry.E ceva ciudat cu egroups.com si yahoogroups.Prima a fost pe egroups si nu am primit-o de la lista. Am mai observat ceva : daca definesc o subrutina de
    Message 1 of 5 , Sep 27, 2001
    • 0 Attachment
      Sorry.E ceva ciudat cu egroups.com si yahoogroups.Prima a fost pe egroups si nu am primit-o de la lista.
       
      Am mai observat ceva :
      daca definesc o subrutina de 100000 ori cu codul :
      my ($var)=@_;print "Bau";
      si alta cu codul :
      my ($var)=@_;
      $var->info();
      ,a doua varianta va ocupa mai multa mem. decat prima cam de 10 ori.
       
      Ciudat ,nu ?
       
      ps : am mai incervat si cu \&var;Degeaba.
      -----Original Message-----
      From: !RQ9 <sergius@...>
      To: roperl@yahoogroups.com <roperl@yahoogroups.com>
      Date: Thursday, September 27, 2001 7:34 AM
      Subject: Re: [roPerl] Perl question

      pe data de 24 ai mai  trimis acest mesaj si erau tot trei zile de cand
      te chinui...  :)

      eu as avea doar o idee de a lansa scripturile perl ca procese aparte
      trimitindu-le parametri de care au nevoie si obtinand rezultatul
      de care ai nevoi intr-un fisier de outpud sau la stdout de unde sa il
      citesti printr-un pipe
      in acest mod responsabil de alocarile, sau ma bine zis de dealocarile
      memoriei va fi resposabil sistemul de operare si nu perl-ul care cateodata,
      da, poate avea misterele sale greu de patruns si putin documentate.

      in orice caz incearca sa 'undef'  toate variabilele ,
      cat despre anularea definirii unei subrutineima idee care vine
      in cap este supradefinirea cu o functie care ocupa spatiu minim in memorie.
      de exemplu pentru a elibera spatiul ocupat de fun1 scrii ceva de genul:

      sub  fun1(){};  # shrink  fun1

      nu cred sa lucreze , dar trebuie sa incerci..

      totusi raman la ideia ca unica solutie care cred ca ar lucra la sigur este
      lansarea sub-ului ca proces aparte.

      pe de alta parte ai putea evita sub-urile in textul la care se face eval.
      banuiesc ca de vreme ce ai facut "sub" textul subrutinei ramane in memorie

      intrebarea o consider foarte interesanta asa ca ma voi gandi la ea, acum
      doar
      ti-am scris ce mi-a venit repede in minte.


      iRQ9



      ----- Original Message -----
      From: "Cristi" <foca@...>
      To: <moldhack@yahoogroups.com>; <roperl@yahoogroups.com>
      Sent: Wednesday, September 26, 2001 4:30 PM
      Subject: [roPerl] Perl question


      >   Salut.De 3 zile ma tot chinuie o problema.Am facut in perl scriptu' :
      >
      >   ____ Test.pl  ______
      >   #!/usr/bin/perl
      >
      >   use strict;
      >
      >   my ($i,@info,$max);
      >   $max=1000;
      >   @info=split(/[\r\n]/,`ps ux|grep test.pl`);
      >   print $info[0]."\n";
      >   for($i=0;$i<=$max;$i++)
      >   {
      >     open(F,"data.dat");
      >     eval(join("",<F>));
      >     close(F);
      >     test_proc(2,4);
      >     undef &test_proc;
      >   }
      >   @info=split(/[\r\n]/,`ps ux|grep test.pl`);
      >   print $info[0]."\n";
      >
      >   Daca data.dat este :
      >   sub test_proc
      >   {
      >      my($var1,$var2)=@_;
      >      $var1+=$var2;
      >   }
      >   ,prog. imi afiseaza aceeasi mem. folosita.(1.7 cand incepe si 1.9 cand
      >   iese),indiferent de val. lui. $max
      >   Dar daca data.dat este :
      >   sub test_proc
      >   {
      >      my($var1,$var2)=@_;
      >      $var1->info();
      >   }
      >   (in test.pl nu am mai apelat test_proc),atunci sunt 2 cazuri :
      >   $max=100 =>imi afiseaza la inceptu 1.7% din mem. fol. si la sfarsit 2%
      >   $max=5000 => la inceput 1.7% si la sfarsit 3%
      >   Daca in test_proc bag mai multe linii de genul
      >   $var1=$var2;$var1->bau();$var2->mau() si $max 10000,atunci la sfarsitul
      >   prog. voi avea 30-40% mem. ocupata.
      >
      >     Exemplul este pur "didactic".Ca nu are rost sa definesc de mai multe
      ori
      >   acceasi functie.
      >     Dar eu am nevoie sa fac un script care stie N functii,dar nu le tine
      >   incarcate in memorie,ci incarca codul atunci cand sunt apelate dupa care
      > da
      >   un undef *_proc;
      >     Dar dupa 20 de apelari ale aceleiasi functii ma trezesc cu multa mem.
      >   ocupata.(kam tot atat cat nu as fi facut cu procedel asta.)
      >
      >     Oricum,e o "inventie" proprie.Daca are cineva o solutie mai "eleganta"
      > il
      >   rog sa ma lumineze si pe mine.
      >
      >   10x
      >




      To unsubscribe from this group, send an email to:
      roperl-unsubscribe@egroups.com



      Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
    • Vitalie Chiperi
      Salut tuturor Raspundeti-mi si mie la asa o intrebare - exista un server, unde scripturile perl ruleaza ca nobody si creeaza respectiv cateva fisiere
      Message 2 of 5 , Oct 16, 2001
      • 0 Attachment
        Salut tuturor

        Raspundeti-mi si mie la asa o intrebare - exista un server, unde
        scripturile perl ruleaza ca "nobody" si creeaza respectiv
        cateva fisiere textuale. Problema e ca dupa ce ma loghez prin ftp nu
        pot modifica si nici sterge aceste fisiere - permission denied.
        Intrebarea mea este - cum sa fac un script perl sa ruleze nu ca
        "nobody" ci ca un user specific?

        am incercat chown:
        chown "502", "500", "$dirname/$monthday/$name_value[0].html";

        si chmod , dar fara nici o sansa...

        vitalie
      Your message has been successfully submitted and would be delivered to recipients shortly.