モジュールなどのロードを必要時だけにするため、useではなくrequireを使うことはよくあると思いますが、ワーニングをオンにしている場合、そのrequireしているパッケージの変数を参照している箇所で
Name "~" used only once: possible typo at~
という警告が出てしまいます。
たとえば、
require DBI;
:
my $dbh = DBI->connect(~) or die $DBI::errstr;
というコードだと$DBI::errstrについて警告されてしまいます。
もちろんuseなら警告は出ません。
この警告は、何とかならないものでしょうか。
No.2ベストアンサー
- 回答日時:
>この箇所(or変数)だけ回避できる方法があれば
これで一箇所だけ回避できませんか
Perl Hacksあたりに
(そこではstrictの回避だった気がしますが)で
こんなのがあったと思います.
#動かしてないので駄目かもしれませんが,ご参考まで.
my $dbh;
{
no warnings 'once';
$dbh = DBI->connect(~) or die $DBI::errstr;
}
御指示通りで解決できました、ありがとうございます。
プラグマをブロックでスコープさせることができるということ自体を、知りませんでした・・・。お恥ずかしい限りで
よくみたらperllexwarnにもperlfaqにもしっかり書いてありましたね・・。
重ね重ね、ありがとうございました。
No.1
- 回答日時:
no warning 'once';
でいきませんか?
perldoc perllexwarn でwarningの階層構造を参照してください.
もっとも・・・すなおに use するのが一番だと思いますが.
個人的には
use strict;
use warning 'FATAL';
くらいで通るように心がけたい.
早速ありがとうございます。
うーんやっぱりそうするしかないんですかね・・・
できれば、警告の機能自体は役立つので生かしておいて、この箇所(or変数)だけ回避できる方法があれば一番なんですが。
varsとかあるいは無意味に変数名だけを書いて2回参照するようにしたりしてるんですが、どうも良い方法とは思えなくて・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- 英語 The crestal approach works well in single or two a 2 2022/04/19 18:59
- 輸入車 BMW2シリーズ アクティブツアラーの警告表示について 2016年製 走行39000km 2022年 2 2022/11/15 07:54
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- 車検・修理・メンテナンス 車のエンジンの警告灯について。 普通に運転していたら、エンジンの警告灯(黄色いやつ)がついて、距離数 6 2022/10/17 06:41
- 車検・修理・メンテナンス 車のエンジンの警告灯について。 普通に運転していたら、エンジンの警告灯(黄色いやつ)がついて、距離数 1 2022/10/16 23:32
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- 英語 海外から返金 1 2022/06/30 08:20
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
WWW::Mechanizeがプロシキ経由...
-
警告を消したい
-
例外処理のフローチャートの記...
-
VBA This Workbookモジュール...
-
エクセルVBAでシートモジュール...
-
VBAで別モジュールへの変数の受...
-
Excel VBAで、ユーザーフォー...
-
VBSがコンパイルエラーになりま...
-
VBAでoutlook365が起動しません。
-
'Range'メソッドは失敗しました
-
Excel VBA 『Call』で呼び出す...
-
VBAで旧字体を異字体に一括で変...
-
VBでグローバル変数を宣言するには
-
Sub Workbook_Open()でユーザー...
-
ユーザー定義関数に#NAME?が返...
-
Perlの実行パスを自動で変更す...
-
Excel VBAで、ユーザーフォーム...
-
「デバイスは PRN を初期化でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
Perlで画像のサイズ取得する方法
-
CGI::Carpを使っているのにInte...
-
MySQLとの接続でfetchrow_array...
-
(Perl CPAN) DBDがはいらない
-
perlからDBIを使用したpostgres...
-
failed: Can't connect to loca...
-
エラーでハマっている為、use A...
-
htmlフォームから受け取ったフ...
-
フォームメール@PerlとActiveP...
-
警告を消したい
-
Chart::Gnuplotの使い方
-
"use CGI::Session"でエラーが...
-
Unicode::Japanese を継承できない
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
おすすめ情報