- ベストアンサー
my演算子について
まだPerlをはじめたばかりの初心者ですよろしくお願いします。 my($ret, $MESS, $s); my(@PARAG, $PARAG); my(@VALANAME, $VALANAME); my(@DATA, $DATA); my(%NEEDDATA); 上記のように use strict;配下で宣言(っていうのかな?)を行っているプログラムがあります。 my演算子って複数の変数を一度に宣言することができるとどこかで呼んだのですが、上記のようにmy()を分けているのは便宜上の問題でしょうか? つまり my($ret, $MESS, $s,@PARAG, $PARAG,@VALANAME, $VALANAME); というように宣言していることと同じになりますか? ※VB出身者なため”宣言”という言葉を使っていますが、これについても正しい言葉遣いがあればご指摘ください。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- VBで三項演算子
CやPerlで三項演算子がありますが、 ret = (1 == 1) ? "真" : "偽"; VBはIFF関数?で同じようなことができますか? 注意点など知りたいです。
- ベストアンサー
- Visual Basic
- use strictを宣言してlocal変数を使うには?
Perl初心者です。初歩的な質問ですが、 サブルーチンの中で my だと、その下の{ } ブロックではmyで宣言したローカル変数がスコープされないので localを使うのではないかと思いますが、 それだと、use strictではエラーになります。 こんなときどう処理したらよいのでしょうか。
- ベストアンサー
- 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が効かない (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
- Perl my 改行について
#Practice Coad in Perl(注意:プログラムは上から実行される) use strict; use warnings; # スカラー変数 my $a = '1'; #これは「1」という数字の入っている箱 my $b = '2'; #これは「2」という数字の入っている箱 my $str = "ABCD_TEXT"; #文字列 print "$a" - "$b" ; print "$str"; 以下のコードで、my$str ="ABCD_TEXT"; #文字列 表示を 3 ABCD_TEXT としたい。 どうすればいいか?
- 締切済み
- Perl
- 構文エラーのある行番号を知りたい
いつもお世話になっております。 現在既存のPERLを解析して、初心者ながらもなおしています。 で、私が直すとCGIエラーが起こり、よくよく調べたら”;”がなかったり、use strict;を宣言しているのにmy(hoge)と書いていなかったり、でケアレスなミスがたくさんあり、それをつぶしていけば何とかわかるのですが、何せ、たくさん改造かけてしまったあとではそれだけでも見つけるのが大変です。そういうエラーがある場合、”○○行目に";"がありません”というメッセージがhtml上に表示されると便利なのですが、そういう機能はありませんか? よろしくお願いいたします。
- ベストアンサー
- Perl
- ループ変数の変更
GUCIと申します。 ループ変数の変更は、元の値を変えてしまうのでしたっけ? 元を変えずに変更したい場合に、 my $data_tmp = $data; $data_tmp =~ s/^0+//; としないといけないなんて。 らくだ本読んでも解りませんでした。 どなたか、解説お願いします。 C:\>type T1.pl #!Perl use strict; my @data = qw(001 002 003); print "S1: data is @data\n"; for my $data (@data) { $data =~ s/^0+//; } print "S2: data is @data\n"; __END__ C:\>T1.pl S1: data is 001 002 003 S2: data is 1 2 3
- ベストアンサー
- Perl
- perlの自作ライブラリについて
perlの自作ライブラリについてお聞きしたいのですが use strict;やuse File::Copy;は、 パッケージ宣言でするものでしょうか? それとも関数内で行うものでしょうか? package aaa; sub aaafunc { use strict; use utf8; use File::Copy; use File::Basename; #簡単な設定ファイルクラス use Config::Simple; } 1:
- ベストアンサー
- Perl
- PerlからPHPへ移行したときの注意事項は
PerlからPHPに移りまして、戸惑うことがあります。 Perlでは、 use strict; my $hensuu = 1; とレキシカル変数としなければ、変数未宣言となり スペル間違いの変数の使用が避けられるのですが、 PHPでは、 $hensuu = 1; と、何の設定もなく、利用時に $hensu += 0; としても問題なく動作します。 これって危険なのですが、みなさんはどう対処していますか? あと、PerlからPHPにソース移行する場合に 気をつけないことがありましたら、教えてください。
- ベストアンサー
- PHP
お礼
どうもありがとうございました。なかなかしっくりくる説明がなくて。。。助かりました。