#!/usr/bin/perl # Filename: grml-tips # Purpose: query a signature file for a specific keyword and display results # Authors: grml-team (grml.org), (c) Michael Prokop , (c) Alexander Wirt # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. # Latest change: Sam Mär 03 15:35:38 CET 2007 [mika] ################################################################################ use strict; use Pod::Usage; =head1 NAME B - query a signature file for a specific keyword and display results =head1 SYNOPSIS B [OPTION] I =head1 DESCRIPTION This manual page documents briefly the B command. =head1 OPTIONS =over 8 =item B<--help> Print this help and exit. =back =head1 EXAMPLES =over 8 =item B I Query grml-tips file for tips / hints including keyword "ntfs". =item B I<.> Display all available B at once. =back =head1 FILES /usr/share/grml-tips/grml_tips Signature file containing the tips. =head1 SEE ALSO L =head1 AUTHOR grml-tips was written by Alexander Wirt =cut my $grml_tips = '/usr/share/grml-tips/grml_tips'; my $pattern = shift; if ($pattern eq '') { pod2usage( { -message => 'No search pattern provided', -exitval => -1, }); } elsif ($pattern eq '--help') { pod2usage(); } my @tips; my $fh; if (! open ($fh, '<', "$grml_tips")) { print "Error: $grml_tips not found.\nExiting."; exit -1; } my $tip = ''; my $tip_flag = 0; while (my $line = <$fh>) { if ($line !~ /^--/) { $tip .= $line; } else { if ( "$tip" =~ /$pattern/m ) { $tip .= $line; print "$tip"; $tip = ''; $tip_flag = 1; } else { $tip = ''; } } } close($fh); print "Sorry, could not find a tip for '$pattern'. :-(\n" . "If you want to submit a tip please mail it to tips\@grml.org - thank " . "you!\n\n" unless $tip_flag; ## END OF FILE #################################################################