export_report: fix perl warnings
Stephen Hemminger [Mon, 22 Feb 2010 23:17:22 +0000 (15:17 -0800)]
Use local file handles, use three argument open.
Don't modify arguments in perl grep (use sed instead)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: WANG Cong <amwang@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>

scripts/export_report.pl

index 705b5ba..04dce7c 100644 (file)
@@ -49,10 +49,10 @@ sub usage {
 }
 
 sub collectcfiles {
-        my @file = `cat .tmp_versions/*.mod | grep '.*\.ko\$'`;
-        @file = grep {s/\.ko/.mod.c/} @file;
-       chomp @file;
-        return @file;
+    my @file
+       = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
+    chomp @file;
+    return @file;
 }
 
 my (%SYMBOL, %MODULE, %opt, @allcfiles);
@@ -71,37 +71,40 @@ if (not defined $opt{'k'}) {
        $opt{'k'} = "Module.symvers";
 }
 
-unless (open(MODULE_SYMVERS, $opt{'k'})) {
-       die "Sorry, cannot open $opt{'k'}: $!\n";
-}
+open (my $module_symvers, '<', $opt{'k'})
+    or die "Sorry, cannot open $opt{'k'}: $!\n";
 
 if (defined $opt{'o'}) {
-       unless (open(OUTPUT_HANDLE, ">$opt{'o'}")) {
-               die "Sorry, cannot open $opt{'o'} $!\n";
-       }
-       select OUTPUT_HANDLE;
+    open (my $out, '>', $opt{'o'})
+       or die "Sorry, cannot open $opt{'o'} $!\n";
+
+    select $out;
 }
+
 #
 # collect all the symbols and their attributes from the
 # Module.symvers file
 #
-while ( <MODULE_SYMVERS> ) {
+while ( <$module_symvers> ) {
        chomp;
        my (undef, $symbol, $module, $gpl) = split;
        $SYMBOL { $symbol } =  [ $module , "0" , $symbol, $gpl];
 }
-close(MODULE_SYMVERS);
+close($module_symvers);
 
 #
 # collect the usage count of each symbol.
 #
 foreach my $thismod (@allcfiles) {
-       unless (open(MODULE_MODULE, $thismod)) {
-               print "Sorry, cannot open $thismod: $!\n";
+       my $module;
+
+       unless (open ($module, '<', $thismod)) {
+               warn "Sorry, cannot open $thismod: $!\n";
                next;
        }
+
        my $state=0;
-       while ( <MODULE_MODULE> ) {
+       while ( <$module> ) {
                chomp;
                if ($state == 0) {
                        $state = 1 if ($_ =~ /static const struct modversion_info/);
@@ -124,7 +127,7 @@ foreach my $thismod (@allcfiles) {
        if ($state != 2) {
                print "WARNING:$thismod is not built with CONFIG_MODVERSION enabled\n";
        }
-       close(MODULE_MODULE);
+       close($module);
 }
 
 print "\tThis file reports the exported symbols usage patterns by in-tree\n",