#!/usr/bin/perl -w use strict; my ($readline,$found); my %aok=("Loading Vxd" => 1, # A list of all the different values "LoadSuccess" => 1, # that should be ignored. Others are "Loading Device" => 1, # left in for debugging purposes. "LoadSuccess" => 1, "SYSCRITINIT" => 1, "SYSCRITINITSUCCESS" => 1, "DEVICEINIT" => 1, "DEVICEINITSUCCESS" => 1, "Dynamic init device " => 1, "Dynamic init success" => 1, "Dynamic load device " => 1, "Dynamic load success" => 1, "Initing" => 1, "Init Success" => 1, "INITCOMPLETE" => 1, "INITCOMPLETESUCCESS" => 1, "LoadStart" => 1, "Init" => 1, "InitDone" => 1, "Status" => 1, ); my $debug = 0; open BOOTLOG, ") { my $readline = $_; chomp; my ( $key, $val); s/^\[\w*\]\s*//; # ditch the [A000134] junk for ease of splitting if ( /=/ ) { # lines w/ '=' have just 2 parts ( $key, $val ) = split(/\s+=\s+/); } else { # lines w/o '=' are key words ... value; e.g. value is the last word (my @key_val ) = split(/ /); $val = pop @key_val; $key = join " ", @key_val; } print "$readline" unless ($aok{$key}); # Check against %aok if its ignorable; if not, print. #print "$key = $val\n" unless ($aok{$key}); # if don't care about the "[mem addr]" part }