9: our sub Which ( What if you remove the space between Which and the paren?
-y On Fri, Sep 15, 2017 at 5:39 PM, ToddAndMargo <toddandma...@zoho.com> wrote: > On 09/13/2017 10:57 PM, Brandon Allbery wrote: > >> On Thu, Sep 14, 2017 at 1:48 AM, Brandon Allbery <allber...@gmail.com >> <mailto:allber...@gmail.com>> wrote: >> >> If you want to use the other way, the CheckSystemDependency module >> MUST define Which as: our sub Which ... >> If it is not explicitly declared "our", then it is declared "my" and >> the only way the name can be seen outside the CheckSystemDependency >> module is for it to be exported and for your module to import it. >> >> You cannot simply call any sub you see in a different module. If it >> is not explicitly declared "our" then you cannot access it; it is >> declared locally to that module and cannot be seen anywhere else. >> >> >> If this is still not clear, let's try an example: >> >> pyanfar Z$ 6 'module Foo { sub a { say "nope" }; our sub b { say "yep" >> } }; Foo::b();' >> yep >> pyanfar Z$ 6 'module Foo { sub a { say "nope" }; our sub b { say "yep" >> } }; Foo::a();' >> Could not find symbol '&a' >> in block <unit> at -e line 1 >> >> > Hi Brandon, > > What am I doing wrong, now? > > in the pm6: > > 9: our sub Which ( > 10: $ProgramName, # name of the program to search for > 11: $HowToExit ) # live | die > 12: is export { > > > in the pl6: > > 8: use CheckSystemDependancy; # qw[ Which ]; > 36: $Found = CheckSystemDependancy::Which( $ProgramName, $HowToExit ); > > > Error: > > Could not find symbol '&Which' > in block <unit> at ./CheckSystemDependancy.pl6 line 36 > > > -T >