woodfighter: perl regex

Beitrag lesen

Tach,

ich habe zwar nicht den blassesten Schimmer von Perl, aber dennoch frage ich mich, ob simples Suchen & Ersetzen des Kommas durch ein Semikolon anstatt eines RegEx nicht einfacher und performanter wäre?

ja das wäre es, aber erstmal würde ich das als Microoptimierung betrachten.

Mit einer Schleife ist man vermutlich schneller:

  my $pos = index($_, ",");
  while ( $pos > -1 ) {
    substr( $_, $pos, 1, ";" );
    $pos = index( $_, ",", $pos+1 );
  }

aber, das ist nicht lesbarer als

$_ =~ s/,/;/g;

OPs Variante könnte man übrigens noch verkürzen auf

tr/,/;/;

aber das sieht dann schon wieder nach Write-Only-Language aus.

Und wenn du schon RegExp durch was anderes ersetzen willst, musst du mindestens noch http://regex.info/blog/2006-09-15/247 oder https://xkcd.com/1171/ zitieren.

mfg
Woodfighter