2017-08-11 10 views
0

私はperlプログラミングの初心者です。このコードをuse strictで試してみると、 "グローバルシンボル$ str1は明示的なパッケージ名が必要です"というエラーが出ます。キーワード以外のパッケージを使用する必要がありますか? ..pleaseヘルプ

+0

の$ STR1を宣言する必要がありますそれは[ '厳格な使用;']からです(https://stackoverflow.com/questions/20889609/how- use-my-keyword-in-perl)['my'](https://perldoc.perl.org/functions/my.html)を使って変数を宣言する必要があります。 'my $ str1 = 0;'。 [厳密と警告を使う理由](https://stackoverflow.com/questions/8023959/why-use-strict-and-warnings/8024241) – mkHun

+0

'my $ str1'はコンパイル時にチェックされるものですが、 $ str1'も同じステートメント( 'defined')でチェックされ、まだ宣言されていませんでした。それを宣言( 'my $ s')することはできませんし、同じステートメントで既に宣言されているように(' $ s'を定義して)使用することはできません。最初に宣言してください。それを言って、私はこれが重複していると思う。 – zdim

答えて

0

このコードを試してみてください、あなたは明示的

use strict; 
use warnings; 
my $str1; 
$str1 = 0 unless defined $str1; 
+0

もちろん、これは 'my $ str1 = 0;'と同じです。 – ikegami

関連する問題