Perlで「Subroutine permission redefined at~」を抑止する方法

March 22,2022 11:55 PM
Category:[Perl]
Tag:[Perl]
Permalink

Perlで「Subroutine permission redefined at~」を抑止する方法を紹介します。

1.問題点

Perlde定義済の関数を上書きすると、

Subroutine permission redefined at~

というワーニングが表示されます。

このワーニングを抑止したいのですが方法がわかりません。

ということで、Perlで「Subroutine permission redefined at~」を抑止する方法を紹介します。

2.「Subroutine permission redefined at~」を抑止する

「Subroutine permission redefined at~」を抑止するには、関数の上書きを行っている個所の前に、下記を追加します。

use warnings;
no warnings 'redefine';

解決しない場合は、上書きされている方の関数の直前に、上の2行を記述してみてください。

Comments [0] | Trackbacks [0]

svnでファイルやディレクトリを削除する方法

March 18,2022 11:55 PM
Category:[Linux]
Tag:[Linux, svn]
Permalink

svnでファイルやディレクトリを削除する方法を紹介します。

1.問題点

下記の手順でディレクトリとファイルをリポジトリに追加しました。

# mkdir foo
# svn add foo
# svn commit -m '' foo
 
# cd foo
# touch test.txt
# svn add test.txt
# svn commit -m '' test.txt

この、fooとtest.test.txtをリポジトリから削除したいのですが方法がわかりません。

ということで、svnでファイルやディレクトリを削除する方法を紹介します。

2.svnでファイルやディレクトリを削除する

ァイルやディレクトリを削除するには、deleteとcommitで実施します。

# cd foo
# rm -f test.txt
# svn delete test.txt
# svn commit -m '' test.txt
 
# cd ..
# rmdir foo
# svn delete foo
# svn commit -m '' foo

これでリポジトリから削除されます。

Comments [0] | Trackbacks [0]

Rubyで実行ラインのトレース結果をファイルに出力する方法

February 22,2022 10:22 PM
Category:[Ruby]
Tag:[Ruby]
Permalink

業務の都合でRubyを調べることになりました。

最初に、Rubyで実行ラインのトレース結果をファイルに出力する方法を紹介します。

1.問題点

下記の簡単なRubyスクリプトを書きました。

foo = 123

このスクリプトのトレース結果を出力させたいのですが、方法が分かりません。

ということで、Rubyで実行ラインをトレースしてファイルに出力する方法を紹介します。

2.Rubyで実行ラインをトレースしてファイルに出力する方法

標準出力に表示するには、下記の赤字部分を追加します。

require 'tracer'
Tracer.on
 
foo = 123
 
Tracer.off

実行結果

# ruby test.rb
#0:test.rb:4::-: foo = 123
#0:test.rb:6::-: Tracer.off

ファイルに表示するには、下記の赤字部分を追加します。

require 'tracer'
fp = File.open('/tmp/foo.txt', "w")
Tracer.stdout = fp
Tracer.on
 
foo = 123
 
Tracer.off

実行後の出力ファイル

# cat /tmp/foo.txt
#0:test.rb:6::-: foo = 123
#0:test.rb:8::-: Tracer.off

3.解説

トレーサ用のライブラリを読み込みます。

require 'tracer'

トレース出力を開始したいポイントに「Tracer.on」を記述します。

Tracer.on

トレース出力を終了したいポイントに「Tracer.off」を記述します。

Tracer.off

ファイルに出力する場合は、ファイルを書き込みモードで開きます。

fp = File.open('/tmp/foo.txt', "w")

そしてファイルポインタをトレーサの標準出力先に指定すればOKです。

Tracer.stdout = fp

4.注意事項

Tracer.on/Tracer.offは、埋め込んだ位置によって正常に動作しないようです。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages