On Mon, 2015-05-25 at 23:53 +0300, Kadir Beyazlı wrote:
Hi,
Hi Kadir, I can see 2 problems with your code:
# Start of plugin package Dancer2::Plugin::OnTuesday; # ABSTRACT: Make sure a route only works on Tuesday use Dancer2::Plugin;
register on_tuesday => sub { my ( $dsl, $route_sub, @args ) = plugin_args(@_);
my $day = (localtime)[6]; $day == 2 or return pass;
return $route_sub->( $dsl, @args );
^^^^ If you want to use your keyword as function on your route (as you are doing), then you need to return a code ref here. See this for an example: https://github.com/PerlDancer/Dancer2-Plugin-Auth-Extensible/blob/master/lib...
};
register_plugin; # End of plugin
To be able to use above plugin at my local, I created .pm file at following folder:
MyApp/lib/Dancer2/Plugin/OnTuesday.pm
I wrote following code at folder MyApp/test.pl
# Start of script use Dancer2; use lib "lib";
use Dancer2::Plugin::OnTuesday;
get '/' => on_tuesday => sub { return "tuesday" };
^^ Your other mistake is that you need to remove this fat comma P.S. Make sure you view this plain text email in a fixed-width font (not the default for Gmail?), otherwise you will probably be removing the wrong fat comma ;-) Andy