Angenommen, ich habe eine Zeichenfolge und ein Array wie folgt:
my $str = "currentStringwithKey<i>";
my @arr = ("1", "2");
Gibt es also eine bessere Möglichkeit, die Zeichenfolge schnell durch jeden Wert im Array zu ersetzen, als die for-Schleife zu verwenden und die Ausgabe jeder Ersetzung in ein neues Array zu verschieben?
Meine erwartete Ausgabe war:
my @outputArray = ("currentStringwithKey1", "currentStringwithKey2");
Ohne Verwendung für die Verwendung Schleife Karte für sie zu tun
/ r ist der zerstörungsfreie Modifikator, der verwendet wird, um die Substitution zurückzugeben und die ursprüngliche Zeichenfolge unberührt zu lassen
my $str = "currentStringwithKey<i>";
my @arr = ("1", "2");
my @output = map{ $str=~s/<i>/$_/rg } @arr;
#$str not to be changed because of the r modifier
print @output;
Dann enthält das @output
Array so
$output[0] = "currentStringwithKey1",
$output[1] = "currentStringwithKey2"
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen