locales.pl: Multi-Zeilen-Aufrufe von render() behandeln können
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 27 Feb 2013 15:56:33 +0000 (16:56 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 27 Feb 2013 15:58:04 +0000 (16:58 +0100)
Machmal sieht das nämlich so aus:

  $self->render(
    'some/template',
    unicorn => 'Charlie',
    %params,
    COW => 'Moo!'
  );

scripts/locales.pl

index 5e6a8a5..d8ff9c6 100755 (executable)
@@ -358,6 +358,13 @@ sub scanfile {
         $cached{$file}{scannosubs}{"../../SL/${module}.pm"} = 1;
       }
 
+      # Some calls to render() are split over multiple lines. Deal
+      # with that.
+      while (/(?:parse_html_template2?|render)\s*\( *$/) {
+        $_ .= <$fh>;
+        chomp;
+      }
+
       # is this a template call?
       if (/(?:parse_html_template2?|render)\s*\(\s*[\"\']([\w\/]+)\s*[\"\']/) {
         my $new_file_base = "$basedir/templates/webpages/$1.";