Greatly improved 10-menu.pl
[mirrors/libpurple-core-answerscripts.git] / purple / answerscripts.d / 10-menu.pl
index d7afa4e14020d4d71d199095f45b09b3acc985ae..0fcccb0f1b7333475efbe497a0e011b83b7fdbf4 100755 (executable)
@@ -2,15 +2,21 @@
 #Just for you to see that you can use almost any language :-)
 use strict;
 use warnings;
-use Switch;
+use v5.10; #given/when (if you need to use older PERL, you can find older version in GIT)
 
-switch ($ENV{ANSW_MSG}) {
-       case /^!help$/  { print "What did you expected? A help?! :-P"; }
-       case /^!ping$/  { print "PONG"; }
-       case /^!whoami$/        { print "You are: $ENV{ANSW_FROM}"; }
-       case /^!(reboot|reset|restart|halt)$/   { print "Broadcast message: The system is going down for reboot NOW !!"; }
-       case /^!google/ { print "UTFG Yourself: http://google.com/"; }
-       case /^!uptime$/        { print qx{uptime}; }
-       case /^!date$/  { print qx{date}; }
-       case /^!dmesg$/ { print qx{ dmesg | tail -n 5 | tr '\n' '^' } }
+$ENV{ANSW_MSG} =~ m/^([^\s]*)\s*(.*)$/;
+my $args = $2;
+given ($1) {
+       when (/^!help$/)        { print qx{ grep -o 'when \(/[^\$/]*' "$0" | grep -o '!.*' | tr '\n' ',' }."\n"; }
+       when (/^!ping$/)        { print "PONG"; }
+       when (/^!whoami$/)      { print "You are $ENV{ANSW_R_ALIAS} also known as $ENV{ANSW_R_NAME}"; }
+       when (/^!whoareyou$/)   { print "Hello, my name is $ENV{ANSW_L_ALIAS} ($ENV{ANSW_L_NAME}) ;-)"; }
+       when (/^!version$/)     { print "$ENV{ANSW_L_AGENT} $ENV{ANSW_L_AGENT_VERSION}"; }
+       when (/^!status$/)      { print "[$ENV{ANSW_L_STATUS}] $ENV{ANSW_L_STATUS_MSG}"; }
+       when (/^!(reboot|reset|restart|halt)$/) { print "Broadcast message: The system is going down for reboot NOW !!"; }
+       when (/^!google$/)      { my $q = $args; $q =~ s/ /+/g; print "UTFG Yourself: http://google.com/search?q=$q"; }
+       when (/^!uptime$/)      { print qx{uptime}; }
+       when (/^!date$/)        { print qx{date}; }
+       when (/^!dmesg$/)       { print qx{ dmesg | tail -n 5 | tr '\n' '\t' } }
+       when (/^!df$/)  { print qx{ df -hlP / | tail -n 1 } }
 }
This page took 0.149945 seconds and 4 git commands to generate.