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»
In reply to Is this a way to Go Perl #1 by karlgoethebier
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |