From d936230973b91a16b5c2c5c7e4665a98bdde4332 Mon Sep 17 00:00:00 2001 From: Joshua Megerman Date: Wed, 14 Dec 2011 17:03:29 +0200 Subject: [PATCH] Fix brace matching on multiline constructs in perl.req (RhBug:752119) - /usr/lib/rpm/perl.req scans for the opening brace type on lines, but then only scans for closing curly braces ('}') instead of the proper losing brace type when that closing brace occures on a different line. This means that any use/require statements that occur after the multi-line q{} statement but before the first closing curly brace in the file will be ignored. Signed-off-by: Panu Matilainen --- scripts/perl.req | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/perl.req b/scripts/perl.req index 90d8e6bdd..cd2cbded4 100755 --- a/scripts/perl.req +++ b/scripts/perl.req @@ -120,8 +120,9 @@ sub process_file { if ( m/^.*\Wq[qxwr]?\s*([{([#|\/])[^})\]#|\/]*$/ && ! m/^\s*(require|use)\s/ ) { $tag = $1; $tag =~ tr/{\(\[\#|\//})]#|\//; + $tag = quotemeta($tag); while () { - ( $_ =~ m/\}/ ) && last; + ( $_ =~ m/$tag/ ) && last; } }