Thread View: pl.comp.lang.perl
4 messages
4 total messages
Started by Wojciech Mizerka
Sat, 21 Dec 1996 19:17
replejs
Author: Wojciech Mizerka
Date: Sat, 21 Dec 1996 19:17
Date: Sat, 21 Dec 1996 19:17
25 lines
1522 bytes
1522 bytes
PEwnie moj probelm to banan, ale z braku podrecznika i niemoznosci
znalezienia odpowiedzi w manie pisze tu.
kiedy uzywam "s" np.
$bleee =~ s/lama.*buuu//ig;
innymi slowy chce zamienic "lama", "buuu" i wszystko co jest miedzy nimi w
nicosc. Wedlug mnie wszystko ok tylko, ze taki zestaw: lama.*buuu wystepuje
kilka razy w tym stringu i taka komenda zamienia mi wszystko co sie znajduje
miedzy pierwsza lama a ostatnim buuu w nicosc.
Jak zrobic zeby zamienial tylko te kawalki, ktore powinien ?
I drugie pytanie: czy sa jakies ograniczenia co do wielkosci stringa, bo do
tej pory nie zauwazylem, ale byc moze nie osiagnalem jeszcze maxymalnego
pulapu ?
wesolych Swiat zycze
Wojtek
--
__ __ _ _
\ \/\/ / / \ / \ Wojciech Mizerka tel. +48 61 122146
\ /\ / / \/ \ mailto:wojtek@capella.ae.poznan.pl
\/ \/ /___/\/\___\ http://www.ae.poznan.pl/~wojtek
Re: replejs
Author: Piotr Piatkowski
Date: Sun, 22 Dec 1996 01:21
Date: Sun, 22 Dec 1996 01:21
45 lines
2256 bytes
2256 bytes
Wojciech Mizerka <wojtek@capella.ae.poznan.pl> wrote: : $bleee =~ s/lama.*buuu//ig; : innymi slowy chce zamienic "lama", "buuu" i wszystko co jest miedzy nimi w : nicosc. Wedlug mnie wszystko ok tylko, ze taki zestaw: lama.*buuu wystepuje : kilka razy w tym stringu i taka komenda zamienia mi wszystko co sie znajduje : miedzy pierwsza lama a ostatnim buuu w nicosc. ...i wszystko się zgadza, przecież robi dokładnie to co powiedziałeś - zamienia "lama" i "buuu" i wszystko co jest między nimi w nicość :-) Pamiętaj że w wyrażeniu regularny perl zawsze stara się dopasować do * jak najdłuższy string. : Jak zrobic zeby zamienial tylko te kawalki, ktore powinien ? To teraz zastanów się dobrze co rozumiesz przez "kawałki które powinien". Jeżeli chodzi ci o najkrótsze możliwe ciągi, to zrób tak: s/lama.*?buuu//ig; *? działa tak jak * ale dopasowuje najkrótszy możliwy ciąg. : I drugie pytanie: czy sa jakies ograniczenia co do wielkosci stringa, bo do : tej pory nie zauwazylem, ale byc moze nie osiagnalem jeszcze maxymalnego : pulapu ? Ciekawe pytanie... Zrobiłem eksperyment: bash$ perl -e '$x = "-" x 10000000' poszło bez problemu, ale już: bash$ perl -e '$x = "-" x 50000000' Out of memory! Czyli stringu o długości ok. 50MB się nie udało zrobić, 10MB bez problemu. Można by tak dalej kombinować, ale czy faktycznie potrzebujesz stringi większe niż 10MB? Tylko - to było na maszynie RS6000 ze 128MB RAM - nie wiem jak będzie na mniejszych... -- Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: replejs
Author: Zbigniew Zych
Date: Sun, 22 Dec 1996 12:45
Date: Sun, 22 Dec 1996 12:45
27 lines
1465 bytes
1465 bytes
In pl.comp.lang.perl Piotr Piatkowski <kompas@galaxy.uci.agh.edu.pl> wrote: > Ciekawe pytanie... Zrobiłem eksperyment: > bash$ perl -e '$x = "-" x 10000000' To może być ciekawe.... ~$ time perl -e '$x = "-" x 10000000' 0.91user 3.22system 0:12.13elapsed 34%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+0minor)pagefaults 0swaps > bash$ perl -e '$x = "-" x 50000000' > Out of memory! ~$ time perl -e '$x = "-" x 50000000' Out of memory! Command had non-zero exit status 1 2.73user 6.00system 0:22.54elapsed 38%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (0major+0minor)pagefaults 0swaps A może to ograniczenia w perlu??? Maszynka: 2 procesorowa, 64MB RAM, Linux. Wesołych Świąt i Szęśliwego Nowego Roku! Zbigniew Zych -- Optimus SA Oddział Kraków, administrator sieci, http://onet.pl/~zych/
Re: replejs
Author: Wojciech Mizerka
Date: Sun, 22 Dec 1996 12:59
Date: Sun, 22 Dec 1996 12:59
22 lines
1462 bytes
1462 bytes
Piotr Piatkowski (kompas@galaxy.uci.agh.edu.pl) wrote:
: Wojciech Mizerka <wojtek@capella.ae.poznan.pl> wrote:
: : $bleee =~ s/lama.*buuu//ig;
: : innymi slowy chce zamienic "lama", "buuu" i wszystko co jest miedzy nimi w
: : nicosc. Wedlug mnie wszystko ok tylko, ze taki zestaw: lama.*buuu wystepuje
: : kilka razy w tym stringu i taka komenda zamienia mi wszystko co sie znajduje
: : miedzy pierwsza lama a ostatnim buuu w nicosc.
: Tylko - to było na maszynie RS6000 ze 128MB RAM - nie wiem jak będzie
: na mniejszych...
Dzieki wielkie !!!
Wojtek
--
__ __ _ _
\ \/\/ / / \ / \ Wojciech Mizerka tel. +48 61 122146
\ /\ / / \/ \ mailto:wojtek@capella.ae.poznan.pl
\/ \/ /___/\/\___\ http://www.ae.poznan.pl/~wojtek
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