karlgoethebier has asked for the wisdom of the Perl Monks concerning the following question:
Apropos fun. Consider this:
package main import ( "C" "fmt" "os" ) func main() {} //export Yaph func Yaph() { fmt.Println("Every day I get in the queue") fmt.Println("To get on the bus that takes me to you") } //export Acme func Acme() { go func() { fmt.Println("I guess i'm a closure") fmt.Println (os.Getpid()) }() }
Compile it:
go build -o yaph.so -buildmode=c-sharedRun it:
#!/usr/bin/env perl use strict; use warnings; use FFI::Platypus; use feature qw ( say ); say qq($0 $$); my $ffi = FFI::Platypus->new( api => 1 ); $ffi->lib('./yaph.so'); $ffi->attach(Yaph => []); $ffi->attach(Acme => []); Yaph(); Acme() for 1..3; END { say qq(Too much, Magic Bus!) for 1 .. 3; } __END__
Result:
./run.pl 12350 Every day I get in the queue To get on the bus that takes me to you I guess i'm a closure 12350 I guess i'm a closure 12350 Too much, Magic Bus! I guess i'm a closure Too much, Magic Bus! 12350 Too much, Magic Bus!
And i guess that there are many TMTOWTDI's.
Thanks for any hint and advice.
Best regards, Karl
«The Crux of the Biscuit is the Apostrophe»
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Is this a way to Go Perl #1
by Fletch (Bishop) on Aug 03, 2021 at 14:21 UTC | |
by karlgoethebier (Abbot) on Aug 03, 2021 at 16:01 UTC | |
|
Re: Is this a way to Go Perl #1
by kikuchiyo (Hermit) on Aug 03, 2021 at 15:11 UTC | |
by karlgoethebier (Abbot) on Aug 03, 2021 at 15:56 UTC | |
by karlgoethebier (Abbot) on Aug 06, 2021 at 05:11 UTC | |
by kikuchiyo (Hermit) on Aug 06, 2021 at 16:27 UTC | |
by karlgoethebier (Abbot) on Aug 03, 2021 at 17:07 UTC | |
|
Re: Is this a way to Go Perl #1
by Anonymous Monk on Aug 03, 2021 at 00:19 UTC |