String :: Interpolate.

String :: Interpolate ist ein Perl-Wrapper, um den Perl-Interpolationsmotor zu bauen.
Jetzt downloaden

String :: Interpolate. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Brian McCauley
  • Website des Verlags:
  • http://search.cpan.org/~nobull/String-Interpolate-0.3/lib/String/Interpolate.pm

String :: Interpolate. Stichworte


String :: Interpolate. Beschreibung

String :: interpolieren ist ein Perl-Wrapper für builtin der Perl-Interpolation-Engine. SYNTAX # funktionale Schnittstelle Verwendung String :: interpolieren qw (safe_interpolate interpolieren); unsere ($ GREET) = 'Hallo'; # Kann nicht lexikalisch Druck interpoliert sein ( '$ GREET $ 1n' ); # Object Interface Verwendung String :: interpolieren; my $, die; my $ template = new String :: interpolieren {WHO => $ who}; $ Template -> {TIME} = sub () {} Localtime; # Tie $ TIME zu localtime () $ template -> (); Set # $ 1, $ 2 $ template -> = 'ist'; # Sets $ 3 $, die 'alten Freund'; $ Template -> ( '$ REV {olleH} $ WHO, 2 $ 3 $ $ 1 $ TIME $ _'); # Set string $ Vorlage zu bearbeiten -> {REV} = sub {Reverse @_}; # Tie% REV zu umkehren () $ _ = ''; print "$ templaten"; Führen # Interpolation # Peform die Interpolation in einem sicheren Fach. my $ ersetzen = sichere String :: interpolieren 'uL $ 1'; my $ search = qr / (w +) /; $ _ = "HALLO worldn"; s / $ search / $ ersetzen / eg; # / E Unterdrückt Optimierung Druck; String :: interpolieren zu diesem perenial Perl zur Lösung Problem eine saubere Schnittstelle bietet - wie die Perl-String Interpolation Motor in einem skalaren kapselt variabel String :: interpolieren Objekt enthalten auf eine Zeichenfolge aufzurufen eine Zeichenfolge und ein Kontext, in dem es sollte auf Perl-Interpolation unterzogen werden. Im einfachsten, standardmäßig Fall ist der Kontext einfach die Namespace (Paket), von dem der Konstruktor war called.A String :: interpoliert Objekt eine Referenz auf einen Array halten kann und Hashes, die die speziellen Variablen verwendet wird $ 1 zum Auffüllen usw. und einige Paketvariablen jeweils vor jedem interpolation.In allgemeinen besonderen global globale Variablen wie $ _ können bei der Interpolation verwendet werden, die Ausnahme @_ ist, das immer während der Interpolation interpolierten String leer ist, mit Strikturen verarbeitet und Warnungen aktiviert mit Ausnahme von strict vars und Warnungen nicht initialisiert, so dass nicht definierte Variablen interpoliert werden stillschweigend ignoriert. Dieses Verhalten kann mit dem Pragma verändert werden () method.Because die Perl-String Interpolation Motor Sie wollen es aus nicht vertrauenswürdigen Quellen ohne einige Vorsichtsmaßnahmen auf Strings verwenden, um nicht zu wollen, willkürlich Perl-Code nennen kann. Aus diesem Grunde können String :: interpolieren Objekte Sichere Fächer zu verwenden, hergestellt werden. Dies ist natürlich nur so sicher, wie sicher und Sie werden darauf hingewiesen, WARNUNG Abschnitt des Safes documentation.When in einem sicheren Raumpaket Symbolen interpoliert zu lesen sind Wrapper Variablen gebunden mit importiert, so dass ihre Werte nicht als Referenzen interpretiert werden und so dass sie nicht verwendet werden können, um die Werte außerhalb der Kammer zu verändern. Dieses Verhalten kann durch die unsafe_symbols () Methode unterdrückt werden. Beachten Sie, dass, wenn Sie Verweise auf Objekte enthalten, gebunden Variable oder Variablen importieren möchten, die Überlastung verwenden, um in einem sicheren Fach dann müssen Sie eine Menge Beinarbeit tun, es sei denn, Sie safe_hole () verwenden method.By Standard * _ wird durch sichere Abteile geteilt und könnte möglicherweise erlauben, das Fach zu lecken. Die $ _ und _% Variablen werden daher auf die gleiche ähnliche Vorsichtsmaßnahmen zu importierten Symbole ausgesetzt. Dieses Verhalten kann kann mit dem unsafe_underscore () method.Perl String Interpolation unterdrückt werden, natürlich Ausnahmen werfen. Standardmäßig String :: interpolieren Objekte nicht catch (oder rethrow) diese Ausnahmen, wenn sie in einem einfachen Namensraum und tun Falle zu arbeiten, wenn in einem sicheren Fach zu arbeiten. Dieses Verhalten kann durch die Falle () oder Pragma () Methoden werden überschriebene. Wenn eine Ausnahme während der Interpolation gefangen wird, dann wird undef als Ergebnis der Interpolation und $ zurückgegeben werden @ wird die Ausnahme in der üblichen way.When taint Kontrolle halten aktiviert ist, versucht Interpolation durchzuführen (unter Verwendung von eval ()) auf einer befleckten Zeichenfolge würde natürlich scheitern. Wenn jedoch ein sicheres Fach verwenden, String :: Interpolieren werden der tainting aus der Zeichenfolge vor der Interpolation abzuzustreifen und ihn wieder danach. Auch String :: Interpolation werden alle Argumente besudeln zu Callback-Funktionen als Ergebnis der Durchführung Interpolation auf einer befleckten Zeichenfolge genannt geben. Beachten Sie, dass aufgrund verwendet, um den Mechanismus 1 $ zuweisen et al sie nie sind tainted.By Standard String zu setzen verwendet werden, auch wenn die Werte im Array tained werden :: Interpolieren keine Subroutinen nicht exportieren, sondern als Zugeständnis an Programmierer, die lieber nicht explizit verwenden, um Objekte die Funktionen interpolieren () und safe_interpolate () sind exportable.Requirements: · Perl-Anforderungen: · Perl.


String :: Interpolate. Zugehörige Software