Charles: typographische Anführungszeichen ersetzen

Hallo,
in der Textarea eines Formulars werden des öfteren von Benutzern auch (vermutlich über Copy&Paste aus Word-Dateien) typographische statt normaler Anführungszeichen verwendet, also jene Anführungszeichen, die so wie in der folgenden Zeile
„am Anfang eines Zitats unten stehen und am Ende des Zitats“
oben stehen.

Ich würde diese nun gerne, wenn ich die üblichen Ersetzungsfunktionen vornehme:
read(STDIN, my $buffer, $ENV{'CONTENT_LENGTH'});

Splitten der name-value pairs

my @pairs = split(/&/, $buffer);
foreach my $pair (@pairs) {
  my ($name, $value) = split(/=/, $pair);
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  .....
}
in normale Anführungszeichen ersetzen.
Bisher bin ich damit aber kläglich gescheitert.
Wie muss ich diese typographischen Anführungszeichen denn überhaupt ansprechen?

  1. hi,

    Wie muss ich diese typographischen Anführungszeichen denn überhaupt ansprechen?

    z.B. so:
    my $value = '„am Anfang eines Zitats unten stehen und am Ende des Zitats“';
    $value =~ s/„|“/"/g;
    print "$value\n";

    das kommt raus:
    "am Anfang eines Zitats unten stehen und am Ende des Zitats"

    --roro

    1. Danke, das klappt!
      Auf die allereinfachste Lösung bin ich gar nicht gekommen!

      1. Hi,

        hier nochn Link:
        http://perl-seiten.privat.t-online.de/

        Perl ist einfach schön.

        --roro

  2. Ich würde diese nun gerne, wenn ich die üblichen Ersetzungsfunktionen vornehme:
    read(STDIN, my $buffer, $ENV{'CONTENT_LENGTH'});

    Splitten der name-value pairs

    my @pairs = split(/&/, $buffer);
    foreach my $pair (@pairs) {
      my ($name, $value) = split(/=/, $pair);
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      .....
    }

    üblicher wäre hier die Verwendung von use CGI;
    und dann einfach die von Rolf gezeigt Ersetzung auf den Parameter anwenden.

    Struppi.

    --
    Javascript ist toll (Perl auch!)