perlについて教えてください。


my $a;
my $i;
$a="1234";
for($i=0;$i<$a;$i++){
...............
}

とするとエラーになります。多分$aには文字列がはいっているので数値ではないためであるとおもいます。文字列=>数値変換の関数を教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/03/31 20:38:54
  • 終了:2008/04/07 20:40:03

回答(5件)

id:haruo-31 No.1

haruo-31回答回数80ベストアンサー獲得回数102008/03/31 20:56:45

ポイント35pt

http://perldoc.jp/docs/perl/5.6.1/perlfunc.pod


for (my $i=0; (expr "$i < $a"); $i++){ ... }

id:tkyk3 No.2

tkyk3回答回数59ベストアンサー獲得回数62008/03/31 20:59:52

ポイント35pt

Perlは文字と数値を意識しなくても使える言語なので、変換関数は存在しないと思います。

foreach my $i (0 .. $a - 1) {
 ....
}

みたいなものでも動くでしょうか?

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 cross99 4 1 0 2008-03-31 21:05:40
2 dododdo 7 6 0 2008-03-31 22:15:37
3 Youshi 30 26 3 2008-04-01 11:10:11
  • id:likk
    $a= "1234";

    $a= 1234;
    で行けませんか?
  • id:tkyk3
    $a="1234hahaha";
    でも動いてしまう言語だからね…。確か。
  • id:cubick
    とりあえずエラーメッセージを見せてもらわないと回答者も回答に困ると思います。
  • id:b-wind
    >$a="1234hahaha";
    >でも動いてしまう言語だからね…。
    数値として扱うと $a = 1234 と等価に扱いますね。

    質問者が問題点を勘違いしてる可能性が高いと思う。
    同じくエラーメッセージと前後のソースコード希望。
  • id:taknt
    エラーになる原因は 文字列だからじゃない 別のものが原因に一票。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません