クラス
-
Fiddle
:: Function (3) -
Fiddle
:: Handle (2) - SystemCallError (1)
- TracePoint (11)
モジュール
- Fiddle (2)
- Kernel (1)
-
OpenSSL
:: X509 (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - BlockCaller (1)
- Closure (1)
-
NEWS for Ruby 3
. 0 . 0 (1) - STDCALL (1)
-
V
_ ERR _ UNABLE _ TO _ GET _ ISSUER _ CERT _ LOCALLY (1) - assign (1)
- binding (1)
-
call
_ cfunc (1) -
call
_ op (1) -
callee
_ id (1) -
defined
_ class (1) - errno (1)
- event (1)
- inspect (1)
-
last
_ error (1) - lineno (1)
- massign (1)
-
method
_ call (1) -
method
_ id (1) - new (4)
- parameters (1)
- path (1)
-
proc
_ invoke (1) -
rb
_ call (1) -
rb
_ call0 (1) -
rb
_ call _ super (1) -
rb
_ cont _ call (1) -
rb
_ f _ caller (1) -
rb
_ funcall (1) -
rb
_ funcall2 (1) -
rb
_ funcall3 (1) -
rb
_ obj _ call _ init (1) -
rb
_ undefined (1) -
rb
_ yield _ 0 (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 4 feature (1) - syscall (1)
- trace (1)
-
umethod
_ call (1) -
win32
_ last _ error (1)
検索結果
先頭5件
- Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil - TracePoint
# callee _ id -> Symbol | nil - static VALUE call
_ cfunc(VALUE (*func)() , VALUE recv , int len , int argc , VALUE *argv) - static VALUE rb
_ call(VALUE klass , VALUE recv , ID mid , int argc , const VALUE *argv , int scope) - static VALUE rb
_ call0(VALUE klass , VALUE recv , ID id , int argc , VALUE *argv , NODE *body , int nosuper)
-
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (54640.0) -
関数を呼び出します。
関数を呼び出します。
Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。
引数の変換は以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば FILE* が渡されます。
整数であればそれがアドレスとみ... -
TracePoint
# callee _ id -> Symbol | nil (27319.0) -
イベントが発生したメソッドの呼ばれた名前を Symbol で返します。 トップレベルであった場合は nil を返します。
イベントが発生したメソッドの呼ばれた名前を Symbol で返します。
トップレベルであった場合は nil を返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[][ruby]{
class C
def method_name
end
alias alias_name method_name
end
trace = TracePoint.new(:call) do |tp|
p [tp.method_id, tp.callee_id] # => [:method_name, :alias_name]
e... -
static VALUE call
_ cfunc(VALUE (*func)() , VALUE recv , int len , int argc , VALUE *argv) (18901.0) -
C で定義されたメソッドの起動に際し、実体の関数 func を呼び出します。
C で定義されたメソッドの起動に際し、実体の関数 func を呼び出します。 -
static VALUE rb
_ call(VALUE klass , VALUE recv , ID mid , int argc , const VALUE *argv , int scope) (18901.0) -
クラス klass に定義されたメソッド mid を呼び出します。 レシーバは recv で、引数は長さ argc の配列 argv で渡します。
クラス klass に定義されたメソッド mid を呼び出します。
レシーバは recv で、引数は長さ argc の配列 argv で渡します。
scope は以下のように呼び出しの形式を示します。
: 0
obj.method() (private/protected メソッドを呼べない)
: 1
method() (private/protected メソッドも呼べる)
: 2
method_or_lvar (1とはエラーメッセージが変わる)
: 3
super -
static VALUE rb
_ call0(VALUE klass , VALUE recv , ID id , int argc , VALUE *argv , NODE *body , int nosuper) (18901.0) -
クラス klass に定義されたメソッドのコード body を起動します。 レシーバは recv で、引数は長さ argc の配列 argv で渡します。 nosuper が非ゼロのときは、この呼び出し中の super がエラーになります。
クラス klass に定義されたメソッドのコード body を起動します。
レシーバは recv で、引数は長さ argc の配列 argv で渡します。
nosuper が非ゼロのときは、この呼び出し中の super がエラーになります。 -
static VALUE rb
_ cont _ call(int argc , VALUE *argv , VALUE cont) (18649.0) -
Continuation#call の実体。
Continuation#call の実体。 -
Fiddle
:: Function :: STDCALL -> Integer (18601.0) -
Windows の stdcall 呼出規約を表します。
Windows の stdcall 呼出規約を表します。
stdcall 呼出規約を持つ環境でのみ定義されます。
@see Fiddle::Function.new -
Kernel
. # syscall(num , *arg) -> Integer (18601.0) -
numで指定された番号のシステムコールを実行します。 第2引数以降をシステムコールの引数として渡します。
numで指定された番号のシステムコールを実行します。
第2引数以降をシステムコールの引数として渡します。
どの数値がどのシステムコールに対応するかは、
syscall(2) や
/usr/include/sys/syscall.h を参照してください。
システムコールの慣習に従い、syscall(2)
が -1 を返す場合には例外 Errno::EXXX が発生します。
それ以外では、返した値をそのまま数値で返します。
ライブラリ fiddle を使えばより高レベルな操作ができます。
@param num システムコール番号です。
@param arg 文字列か、整数です。最大 9 ... -
OpenSSL
:: X509 :: V _ ERR _ UNABLE _ TO _ GET _ ISSUER _ CERT _ LOCALLY -> Integer (18601.0) -
証明書チェイン末尾の証明書の issuer(発行者)の証明書が 信頼している証明書群の中から見付からないことを意味します。
証明書チェイン末尾の証明書の issuer(発行者)の証明書が
信頼している証明書群の中から見付からないことを意味します。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::X509::Store#add_file,
OpenSSL::X509::Store#add_path,
OpenSSL::X509::Store#add_cert,
OpenSSL::X509::Store#set_default_paths -
VALUE rb
_ call _ super(int argc , const VALUE *argv) (18601.0) -
Rubyレベルでの super です。 現在評価中のメソッドのスーパークラスのメソッドを呼び出します。
Rubyレベルでの super です。
現在評価中のメソッドのスーパークラスのメソッドを呼び出します。 -
VALUE rb
_ funcall(VALUE recv , ID name , int nargs , . . . ) (18601.0) -
recv に対してメソッド name を呼びだし、 メソッドの返り値を返します。プライベートメソッドも 呼びだせます。
recv に対してメソッド name を呼びだし、
メソッドの返り値を返します。プライベートメソッドも
呼びだせます。
メソッドへの引数は第四引数以降にあたえ、その数を nargs
に指定します。それら引数はすべて VALUE でなければ
いけません。 -
VALUE rb
_ funcall2(VALUE recv , ID name , int nargs , VALUE *args) (18601.0) -
recv に対してメソッド name を呼びだし、 メソッドの返り値を返します。プライベートメソッドも 呼びだせます。
recv に対してメソッド name を呼びだし、
メソッドの返り値を返します。プライベートメソッドも
呼びだせます。
メソッドへの引数は VALUE の配列として第四引数にあたえ、
その長さを nargs に指定します。 -
VALUE rb
_ funcall3(VALUE recv , ID mid , int argc , const VALUE *argv) (18601.0) -
recv に対してメソッド name を呼びだし、 メソッドの返り値を返します。
recv に対してメソッド name を呼びだし、
メソッドの返り値を返します。
メソッドへの引数は VALUE の配列として第四引数にあたえ、
その長さを nargs に指定します。
rb_funcall2 との違いは、プライベートメソッドを呼び出せないことです。 -
static NODE * call
_ op(NODE *recv , ID id , int narg , NODE *arg1) (18601.0) -
-
static VALUE method
_ call(int argc , VALUE *argv , VALUE method) (18601.0) -
-
static VALUE rb
_ f _ caller(int argc , VALUE *argv) (18601.0) -
-
static VALUE umethod
_ call(int argc , VALUE *argv , VALUE method) (18601.0) -
-
void rb
_ obj _ call _ init(VALUE obj , int argc , VALUE *argv) (18601.0) -
オブジェクト obj に対して initialize を呼び出します。 引数は長さ argc の配列 argv で表され、 ブロックが積んである場合はそれも自動的に渡されます。
オブジェクト obj に対して initialize を呼び出します。
引数は長さ argc の配列 argv で表され、
ブロックが積んである場合はそれも自動的に渡されます。 -
Fiddle
:: Closure :: BlockCaller (18091.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックを C の関数ポインタとして表現するためのクラスです。
require 'fiddle'
include Fiddle
libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYP... -
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (9391.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
新しい TracePoint オブジェクトを作成して返します。トレースを有効
にするには TracePoint#enable を実行してください。
//emlist[例:irb で実行した場合][ruby]{
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
end
# => #<TracePoint:0x007f17372cdb20>
trace.enable
# => false
puts "Hello, TracePoint!"
# .... -
TracePoint
# lineno -> Integer (9319.0) -
発生したイベントの行番号を返します。
発生したイベントの行番号を返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call, :return) do |tp|
tp.lineno
end
trace.enable
foo 1
# => 1
# 3
//} -
TracePoint
. trace(*events) {|obj| . . . } -> TracePoint (9319.0) -
新しい TracePoint オブジェクトを作成して自動的にトレースを開始し ます。TracePoint.new のコンビニエンスメソッドです。
新しい TracePoint オブジェクトを作成して自動的にトレースを開始し
ます。TracePoint.new のコンビニエンスメソッドです。
@param events トレースするイベントを String か Symbol で任
意の数指定します。指定できる値については
TracePoint.new を参照してください。
//emlist[例][ruby]{
trace = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] }
# => #<TracePoint:0x00... -
SystemCallError
# errno -> Integer | nil (9301.0) -
レシーバに対応するシステム依存のエラーコードを返します。
レシーバに対応するシステム依存のエラーコードを返します。
エラーコードを渡さない形式で生成した場合は nil を返します。
begin
raise Errno::ENOENT
rescue Errno::ENOENT => err
p err.errno # => 2
p Errno::ENOENT::Errno # => 2
end
begin
raise SystemCallError, 'message'
rescue SystemCallError => err
p err.e... -
TracePoint
# parameters -> [object] (9073.0) -
現在のフックが属するメソッドまたはブロックのパラメータ定義を返します。 フォーマットは Method#parameters と同じです。
現在のフックが属するメソッドまたはブロックのパラメータ定義を返します。
フォーマットは Method#parameters と同じです。
@raise RuntimeError :call、:return、:b_call、:b_return、:c_call、:c_return
イベントのためのイベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(a, b = 2)
end
TracePoint.new(:call) do |tp|
p tp.parameters # => a], [:opt, ... -
TracePoint
# defined _ class -> Class | module (9055.0) -
メソッドを定義したクラスかモジュールを返します。
メソッドを定義したクラスかモジュールを返します。
//emlist[例][ruby]{
class C; def foo; end; end
trace = TracePoint.new(:call) do |tp|
p tp.defined_class # => C
end.enable do
C.new.foo
end
//}
メソッドがモジュールで定義されていた場合も(include に関係なく)モジュー
ルを返します。
//emlist[例][ruby]{
module M; def foo; end; end
class C; include M; end;
trac... -
TracePoint
# event -> Symbol (9037.0) -
発生したイベントの種類を Symbol で返します。
発生したイベントの種類を Symbol で返します。
発生するイベントの詳細については、TracePoint.new を参照してくださ
い。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call, :return) do |tp|
p tp.event
end
trace.enable
foo 1
# => :call
# :return
//} -
TracePoint
# inspect -> String (9037.0) -
self の状態を人間に読みやすい文字列にして返します。
self の状態を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.inspect # "#<TracePoint:call `foo'@/path/to/test.rb:1>"
end
trace.enable
foo 1
//} -
TracePoint
# binding -> Binding (9019.0) -
発生したイベントによって生成された Binding オブジェクトを返します。
発生したイベントによって生成された Binding オブジェクトを返します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.binding.local_variables # => [:ret]
end
trace.enable
foo 1
//} -
TracePoint
# method _ id -> Symbol | nil (9019.0) -
イベントが発生したメソッドの定義時の名前を Symbol で返します。 トップレベルであった場合は nil を返します。
イベントが発生したメソッドの定義時の名前を Symbol で返します。
トップレベルであった場合は nil を返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[][ruby]{
class C
def method_name
end
alias alias_name method_name
end
trace = TracePoint.new(:call) do |tp|
p [tp.method_id, tp.callee_id] # => [:method_name, :alias_name]
e... -
TracePoint
# path -> String (9019.0) -
イベントが発生したファイルのパスを返します。
イベントが発生したファイルのパスを返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.path # => "/path/to/test.rb"
end
trace.enable
foo 1
//} -
static VALUE rb
_ undefined(VALUE obj , ID id , int argc , VALUE *argv , int call _ status) (901.0) -
-
static VALUE massign(VALUE self
, NODE *node , VALUE val , int pcall) (601.0) -
-
static VALUE proc
_ invoke(VALUE proc , VALUE args , int pcall , VALUE self) (601.0) -
Proc オブジェクト proc を起動します。そのとき 引数を args とし、self を self にします。
Proc オブジェクト proc を起動します。そのとき
引数を args とし、self を self にします。 -
static VALUE rb
_ yield _ 0(VALUE val , VALUE self , VALUE klass , int pcall) (601.0) -
カレントブロックに val を渡して処理を移す。 そのさい self とクラスを self と klass に切り替える。 Proc の呼び出しのときは pcall=非ゼロ にしなければならない。
カレントブロックに val を渡して処理を移す。
そのさい self とクラスを self と klass に切り替える。
Proc の呼び出しのときは pcall=非ゼロ にしなければならない。 -
static void assign(VALUE self
, NODE *lhs , VALUE val , int pcall) (601.0) -
左辺を表す構文木 lhs に対し、右辺の値 val を代入します。 Proc オブジェクトを起動する場合は pcall を非ゼロとします。
左辺を表す構文木 lhs に対し、右辺の値 val を代入します。
Proc オブジェクトを起動する場合は pcall を非ゼロとします。 -
Fiddle
. last _ error -> Integer (349.0) -
最後に Fiddle::Function#call で C の関数を呼び出した 結果設定された errno を返します。
最後に Fiddle::Function#call で C の関数を呼び出した
結果設定された errno を返します。
この値はスレッドローカルです。 -
Fiddle
. win32 _ last _ error -> Integer (349.0) -
最後に Fiddle::Function#call で C の関数を呼び出した 結果設定された errno を返します。
最後に Fiddle::Function#call で C の関数を呼び出した
結果設定された errno を返します。
このメソッドは Windows 環境でのみ定義されています。
この値はスレッドローカルです。 -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (289.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 6 feature (235.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
Fiddle
:: Closure (181.0) -
コールバック関数を表すクラスです。
コールバック関数を表すクラスです。
Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。
FFI の closure の wrapper です。
利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブジェクトを生成することで利用します。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(v... -
ruby 1
. 8 . 4 feature (181.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され... -
NEWS for Ruby 3
. 0 . 0 (163.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 3.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......eywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.
16378
//eml......7260
* `in` is changed to return `true` or `false`. 17371
//emlist{
0 => a
p a #=> 0
{b: 0, c: 1} => {b:}
p b #=> 0
//}
//emlist{
# version 3.0
0 in 1 #=> false
# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}
* Find-pattern is added. [EXPERIMENTAL]
16828
//emlist{
case [... -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (73.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関数の引数と返り値の型を指定します。これには以下の
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fidd... -
Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) -> Fiddle :: Handle (37.0) -
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。
flags で dlopen(3) の第2引数として渡すフラグを指定できます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3))... -
Fiddle
:: Handle . new(lib , flags=Fiddle :: Handle :: RTLD _ LAZY|Fiddle :: Handle :: RTLD _ GLOBAL) {|handle| . . . } -> Fiddle :: Handle (37.0) -
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ライブラリ lib をオープンし、Handle オブジェクトとして返します。
ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。
Handle はブロックの終りで自動的にクローズされます。
flags で dlopen(3) の第2引数として渡すフラグを指定できます。
Fiddle::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は manpage(dlopen(3))...