- 締切済み
use strict;でエラー
use strict;と書くとエラーになります。 strict.pmをstrict1.pmにしてuse strict1;にするとエラーはなくなります。 strictは予約語ですか? これと同じ現象になった人はいませんか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- kirikirkaz
- ベストアンサー率60% (21/35)
- Tacosan
- ベストアンサー率23% (3656/15482)
- kirikirkaz
- ベストアンサー率60% (21/35)
関連するQ&A
- use strictとは
use strict;と書いた行でエラーになっているようです。 strict.pmが無いからでしょうか? strict.pmはjcode.plみたいに、使いたい人がググってダウンロードしてサーバに置くものなんでしょうか?
- ベストアンサー
- Perl
- perl use strict エラーにならない?
perlの使い方を勉強しているのですが use strict;を記述すると 変数宣言が必要になるということですが 以下のように記述してもエラーになりません。 use strict;を記述すると my $a;がないと$a="Hello";で エラーになるのではないのでしょうか。 ---test.pl---- use strict; $a="Hello"; print $a; -------------- >test.pl Hello > (Windows7, ActivePerl)
- ベストアンサー
- Perl
- use strictとグロブ?
cgi-lib.plのReadParseの引数でParamグロブを使った場合、 use strict;をすると、必ず以下のエラーが表示されます。 use strictはそのまま使いたく、他の部分も厳密にチェックしたいのですが 何かよい方法はありますか? use strict; require 'cgi-lib.pl'; &ReadParse(*Param); my $MODE = $Param{'MODE'}; <----- errro Variable "%Param" is not imported at
- ベストアンサー
- Perl
- use strictが効かない (PERL)
たびたびお世話になっております。 PERL version 5.14.2 をWindows 7 のコマンドプロンプトから起動して使っています。 use strict; と一行目に書くと 宣言されていない変数があれば拒絶されるとのことで #!/usr/bin/perl use strict; use warnings; $a = 10; print "$a\n"; というスクリプトを書きました。が、すんなり動いてしまいます。 use strict; は どうすればうまく効くのでしょうか。 ご指導お願いします。
- ベストアンサー
- Perl
- strict.pmはどこにありますか?
ローカル環境ではstrictを ダウンロードしていれた記憶もないので 標準モジュール かな?っと思っていたのですが さくらインターネットを借りようとしているのですが use strict; を書くとInternal Server Error になるんです。 XML::XPath; など ほかのモジュールは、http://theoryx5.uwinnipeg.ca/ppms/ からダウンロードして use lib ' で使えるようにしたのですが、 strictだけ みつからないので 動作確認して使えないんです。 strict.pmを配布しているサイトをご存じでしたら 教えてください。
- ベストアンサー
- Perl
- 'use strict'を追加でエラーになる
ここのサイトのJSについてです。 うまく動くのですが 'use strict';の{}でくくって記述し直すと動いてくれなくなります。 どこかJSの記述で古い部分があるのでしょうか? 原因がわかり、すっきりしたいと思っています! https://techacademy.jp/magazine/21069
- ベストアンサー
- JavaScript
- perl use strict; と ファイルハンドルについて
perl use strict; を使うと、単純なエラーが防げると認識していますが、下記スクリプトでは役に立たなかったようで、このエラーを探すのに苦労しました。 他にも、どこかのサブルーチンでsortを使ったスクリプト中で、$aを使った時もおかしな挙動をしたことがあります。 use strict;の使い方は正しいと思うのですが、エラーを出してはくれないものでしょうか? また、このようなエラーをしないために安全なプログラムの書き方はありますか? use strict; open(F,"<file.txt"); while(<F>){ &abc($_); } close(F); sub abc(){ my $str = shift @_; open(F,">>file2.txt"); print F $str; close(F); }
- ベストアンサー
- Perl
- strict refs in use
Perl cgiを作っているものです。 Can't use string ("from_auto") as a HASH ref while "strict refs" in use at common.cgi line 43. というエラーがでました。line 43にはstrict refsに関係のありそうな記述はありません。 common.cgiの中に、連想配列の参照渡しを追加したとたん、上記のエラーが出るようになりました。解決策をご指導ください。
- ベストアンサー
- Perl
- Perlで use strict して our変数
Perl 初心者です。初めて質問します。 test_sub.pl で宣言した変数を test_main.pl から参照したくて悩んでいます。 環境 : WindowsXP / ActivePerl 5.14.2 -------------------- * test_sub.pl -------------------- #!/usr/bin/perl use strict; our $hoge = 'HOGE'; 1; -------------------- * test_main.pl -------------------- #!/usr/bin/perl use strict; require 'test_sub.pl'; print "Content-type: text/html\n\n"; print $hoge; -------------------- これを実行すると、 Global symbol "$hoge" requires explicit package name at C:/public_html/cgi-bin/test_main.pl line 7.\r というエラーが出ます。 require する前に、test_main.pl のほうで our($hoge); と宣言したり 参照する際に print $main::hoge; とパッケージを指定したりすればいけるのですが、 これらをしないとできないものなのでしょうか。 use strict; を書かなければ最初のソースでも動くのですが use strict は書きたい… 継承のようなことをしたいのです。 ちなみに以下試してみたソースです。 -------------------- * test_main.pl -------------------- #!/usr/bin/perl ######################################## # NG use strict; require 'test_sub.pl'; print "Content-type: text/html\n\n"; print $hoge; ######################################## # OK our変数を宣言しておくといける =pod use strict; our ($hoge); require 'test_sub.pl'; print "Content-type: text/html\n\n"; print $hoge; =cut ######################################## # OK 参照する際にパッケージ名を指定すればいける =pod use strict; require 'test_sub.pl'; print "Content-type: text/html\n\n"; print $main::hoge; =cut ######################################## ######################################## # NG =pod use strict; use base qw(test_sub); print "Content-type: text/html\n\n"; print $hoge; =cut ######################################## -------------------- * test_sub.pm -------------------- #!/usr/bin/perl package test_sub; use strict; our $hoge = 'HOGE'; 1; -------------------- NG パタンはどちらも Global symbol "$hoge" requires explicit package name のエラーとなります。 もしご存じの方がいらっしゃいましたら教えてください。 よろしくお願いします。
- ベストアンサー
- Perl
- use strict;
Global symbol "@exec_test_list" requires explicit package name at ./ctest.pl line 384. Global symbol "@exec_test_no" requires explicit package name at ./ctest.pl line 384. Global symbol "@protocol_list" requires explicit package name at ./ctest.pl line 397. Global symbol "@protocol_list" requires explicit package name at ./ctest.pl line 406. Global symbol "$name" requires explicit package name at ./ctest.pl line 413. use strict;を書くと以上のようなエラーメッセージが 出力されます。どうしたら、以上のようなエラーを 回避できるでしょうか?教えてください。
- ベストアンサー
- Perl