이 오류가 발생하며이 문제의 원인을 이해할 수 없습니다. 다른 서브 루틴으로 건너 뛸 때 발생합니다. 아마도 Mojolicious에 대해 이해해야 할 이유가 있습니다. - 왜 그것이 정의되지 않은 말을Mojolicious : 정의되지 않은 값에서 메서드 "render"를 호출 할 수 없습니다.
#!/usr/bin/perl
use Mojolicious::Lite;
get '/' => sub { &start_home; };
app->start;
sub start_home {
my $d = shift;
my $something = $d->param('something');
### Do things with $something.... etc.. etc..
&go_somewhere_else; ### Go somewhere else
}
sub go_somewhere_else {
my $c = shift;
$c->render(text => "Hello World!");
### End of program
}
나는 렌더러에 값을 전달하고하고 값이 : 여기
내 프로그램의 소스 코드? 내 이해는이 서브 루틴으로 이동하고 출력을 렌더링하려고 할 경우에만 발생합니다.운영체제가 Windows이고 Strawberry Perl을 사용하고 있습니다.
@Eugen 수정 사항이 올바르지 않습니다.첫 번째 코드 블록에 대한 전체적인 생각은 함수에서'@ _ '이 비어 있다는 것입니다. 따라서 그것을 전달할 필요가 전혀 없습니다. 나는 아래 단락에서 그것을 설명한다. 편집을 취소했습니다. – simbabque
첫 번째와 두 번째 예제는이 경우 다르게 작동합니다. 'start_home'가 두 개 이상의 인자를 얻는다면 첫 번째 예제는 모두 버리고 두 번째 인자는 모두 무시합니다. 첫 번째 예제에서 '@ _'를 통과하면 첫 번째 인수에서만 예제 간의 차이가 명시 적으로 표시됩니다. –