どうーでもいいーですよー。 どうでもいい話ー、聞いてください。 Perlというやつは一応内部的には数値か文字列かをちゃんと分けて変数の管理をしているのです。 でわ、現在ある変数が内部的に数値なのか?内部的に文字列なのか?判別しようと思ったらどうしますか? こうしてみます。 my @data = ( 100, # 100は内部的に数値 '200' # 200は内部的に文字 ); foreach my $d ( @data ) { if( ($d ^ $d) eq '0' ){ print $d . " = It's numeric\n"; } else { print $d . " = It's string\n"; } } 同じ変数同士を排他的論理和(^)すると、その変数が数値の場合は0になり、その変数が文字列の場合は空文字になるのです。 なぜかって?そりゃ同じ値同士で排他的論理和したら必
![[perl]内部的に数値か文字かを判別する](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1638cdb5807a4788e4ba3c1109a984166e095fc/height=288;version=1;width=512/https%3A%2F%2Fanond.hatelabo.jp%2Fimages%2Fog-image-1500.gif)