🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #39849

Re: operator =~

#39849
From: Szymon Sokół
Date: Wed, 27 Oct 2004 19:10
29 lines
2314 bytes
Zbyszek Malec <zbyszanna@gazeta.pl> wrote:
: Co tak wlasciwie robi operator =~ ? Wiem ze jest uzywany przy regexpach, 
:   tylko nie wiem, co jest z nim nie tak ;-)

: $word =~ /pattern/;     #sprawdza czy dany regexp wystepuje w $word
: $word =~ s/pattern/regexp;      #zamienia pierwszy wzorzec na podana
:                                 #wartosc

: Czy perl traktuje ten operator jakos szczegolnie czy tez moze ja o czyms 
:   nie wiem (dosyc prawdopodobne)? Jak dla mnie to druga konstrukcja nie 
: ma  prawa dzialac, a przynajmniej nie powinna zamieniac nic w $word. 

No i nie działa, bo w drugiej konstrukcji masz regexp tylko jako pierwszy
argument - powinno być: s/regexp/cośinnego/, ponieważ ten drugi argument
operatora s/// nie jest regexpem. 

Natomiast ogólnie, operator =~ przywiązuje operację tr, m, lub s do
konkretnego "podmiotu" (domyślnym jest $_). Czyli:
tr/a-z/A-Z/;
zamieni wszystkie małe litery na duże w $_, a 
$word =~ tr/a-z/A-Z/;
w zmiennej $word. Analogicznie z m// i s/// (forma /pattern/ jest skrótową
formą od m/pattern/). Gdzie masz jakiś problem?

-- 
Szymon Sokół (SS316-RIPE) -- Network Manager                                B
Computer Center, AGH - University of Science and Technology, Cracow, Poland O
http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F 
Free speech includes the right not to listen, if not interested -- Heinlein H
Technical Details
Message-ID: <clorqr$e7n$2@galaxy.uci.agh.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!not-for-mail
References: <clor5g$r5v$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!not-for-mail
From: Szymon Sokół
 <szymon@bastard.operator.from.hell.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: operator =~
Date: Wed, 27 Oct 2004 19:10:19 +0000 (UTC)
Organization: University of Mining & Metallurgy
Lines: 29
Sender: Szymon Sokol <szymon@galaxy.uci.agh.edu.pl>
Message-ID: <clorqr$e7n$2@galaxy.uci.agh.edu.pl>
References: <clor5g$r5v$1@inews.gazeta.pl>
NNTP-Posting-Host: galaxy.uci.agh.edu.pl
Mime-Version: 1.0
X-Trace: galaxy.uci.agh.edu.pl 1098904219 14583 149.156.96.9 (27 Oct 2004 19:10:19 GMT)
X-Complaints-To: usenet@uci.agh.edu.pl
NNTP-Posting-Date: Wed, 27 Oct 2004 19:10:19 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.8 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit