Schrift
[thread]6416[/thread]

/o Modifikator



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
Gast Gast
 2004-07-20 14:20
#84625 #84625
Bringt es etwas ein, den o-Modifikator auch im Zusammenhang mit split(), grep() usw. einzusetzen?
Crian
 2004-07-20 14:32
#84626 #84626
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
An was für einen Zusammenhang denkst Du?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-07-20 14:33
#84627 #84627
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
klar, sobald du mehrmals split /$var/, $string machst.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Gast Gast
 2004-07-20 14:46
#84628 #84628
[quote=pq,20.07.2004, 12:33]klar, sobald du mehrmals split /$var/, $string machst.[/quote]
Danke - das war der Zusammenhang an den ich gedacht hatte.
[E|B]
 2004-07-20 14:47
#84629 #84629
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Was macht /o genau?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Taulmarill
 2004-07-20 14:59
#84630 #84630
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
aus http://www.perldoc.com/perl5.8....erators
c Do not reset search position on a failed match when /g is in effect.
g Match globally, i.e., find all occurrences.
i Do case-insensitive pattern matching.
m Treat string as multiple lines.
o Compile pattern only once.
s Treat string as single line.
x Use extended regular expressions.


der regex wird nur einmal compiliert, bei der interpoleration von variablen wird also z.B. nur das erste mal wenn der regex benutzt wird der wert der variable eingefügt, weitere änderungen an der variable werden ignoriert.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Crian
 2004-07-20 15:20
#84631 #84631
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Warum sollte man den gleichen String mehrfach splitten?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-07-20 15:28
#84632 #84632
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
nicht den gleichen string mehrfach splitten, aber verschiedene strings
mehrfach an einer variablen splitten.
for my $string (@strings) {
 my @a = split /$separator/o, $string;
 ...
}
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Crian
 2004-07-20 18:29
#84633 #84633
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
ach ja klar ... nicht mein Tag heute ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-07-20 18:57
#84634 #84634
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
fällt mir gerade ein: wahrscheinlich würde ich stattdessen gleich den
qr-operator verwenden:
my $seperator = qr/:/;
dann braucht man die /o-option auch nicht mehr.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2004-07-20 14:20.