有沒有辦法將其他變量傳遞給方法處理程序子例程?我通常不喜歡在子例程範圍外使用全局變量。我喜歡數據庫連接和類實例,我希望處理程序有權訪問它們,而不使用全局變量。使用調試到控制檯,每個處理程序調用看起來像@_是空的。perl dancer - 如何將其他參數傳遞給方法hander子例程?
#!/usr/bin/perl
use strict;
use Dancer;
use Data::Dumper;
set('logger' => 'console');
my $somevar = SomeClass->new();
get('/' => sub{
debug(Dumper(@_));
debug($somevar);
return('hello world');
});
不確定這將適用於我的應用程序。它看起來像之前在主處理程序之前的每場比賽中運行。我想使用的一些變量是一次設置有點東西。它們包括類實例,我不想重新初始化每個到舞者的http方法調用。我希望有這樣的其他事情,但曾經只有一次。 –
我也嘗試在鉤子外面使用「vars」。它不抱怨。但是,在方法處理程序內部時,該值不存在。 –
'Only once called once'和'class instances'聽起來像你可能只想使用包變量。類似於我們的$ dbh = DBI-> connect();',在任何處理程序之外聲明。 – RickF