use strict;
use Pod::Usage;
+use feature 'say';
use Term::ReadKey;
use Time::HiRes;
use LWP::UserAgent;
}
my @tips;
-my $fh;
-if (! open ($fh, '<', "$grml_tips")) {
- print "Error: $grml_tips not found.\nExiting.";
+if (! open (my $fh, '<', "$grml_tips")) {
+ say STDERR "Error: File \"$grml_tips\" not found.";
+ say STDERR "Exiting.";
exit -1;
-}
+} else {
+ my $tip = '';
-my $tip = '';
-my $tip_flag = 0;
-
-while (my $line = <$fh>) {
- if ($line !~ /^-- $/) {
- $tip .= $line;
- } else {
- if ( "$tip" =~ /$pattern/mi ) {
- $tip .= $line;
- print "$tip";
- $tip = '';
- $tip_flag = 1;
- } else {
- $tip = '';
+ my $tips_found = 0;
+ while (my $line = <$fh>) {
+ if ($line !~ /^-- $/) {
+ $tip .= $line;
+ } else {
+ $tips_found++;
+ if ( $tip =~ /$pattern/mi ) {
+ #$tip .= $line;
+
+ my $header = "Grml Tip Number $tips_found\n";
+ my $line = "-" x (length($header) -1 ) . "\n\n";
+
+ push @tips, $header . $line . $tip . "\n";
+ $tip = '';
+ } else {
+ $tip = '';
+ }
+ }
}
- }
+ close($fh);
}
-close($fh);
-if (!$tip_flag) {
- print "Sorry, could not find a tip for '$pattern'. :-(\n",
+if (@tips) {
+ if (! open (my $fh, '|-', 'less -FRX') ) {
+ say @tips;
+ } else {
+ say $fh @tips;
+ }
+}else {
+ say "Sorry, could not find a tip for '$pattern'. :-(\n\n",
"Do you want to submit the keyword '$pattern' to grml's keyword database?\n",
"The grml team will write tips for the most requested and useful keywords.\n",
- "To use this feature you'll need a working networking connection.\n",
+ "To use and contribute to this feature you'll need a working networking connection.\n",
"No personal data will be transmitted to the database.\n\n",
- "Send \"$pattern\" to grml's keyword database? [y|N]";
+ "Send \"$pattern\" to grml's keyword database? [y|N] ";
ReadMode 4; # Turn off controls keys
my $x;
if ( -f '/etc/grml_version' ) {
open (my $fh, '<', '/etc/grml_version') or die "Could not open /etc/grml_version: $!";
$version = <$fh>;
+ chomp $version;
close ($fh);
+ } elsif ( -f '/etc/debian_version') {
+ open (my $fh, '<', '/etc/debian_version') or die "Could not open /etc/debian_version: $!";
+ $version = <$fh>;
+ chomp $version;
+ close ($fh);
} else {
$version = 'unknown';
}
if ($res->is_success) {
my $content = $res->decoded_content;
if ($content =~ /Submission received/) {
- print "'$pattern' submitted\n";
+ say "Keyword '$pattern' has been submitted to grml's keyword database.\nThanks.";
} else {
- print "Your pattern could not be submitted.\n",
+ say "Your pattern could not be submitted.\n",
"Please file a bug against grml-tips at ",
- "http://bts.grml.org.\n",
- "Thanks!\n";
+ "http://bts.grml.org/\n",
+ "Thanks!";
}
} else {
print "Could not submitt '$pattern': " . $res->status_line . "\n";
}
+ } else {
+ print "'$pattern' has not been sent to grml's keyword database as requested.\n";
+ print "If you want to submit a tip please mail it to tips\@grml.org - thank you!\n";
}
}