- ベストアンサー
substrとBASICのMID
perlで substr関数を使って驚いたのですが、 my $a = "abcdefg"; my $b = substr($a, 0, 1, ''); print $a, "\n"; print $b . "\n"; で、$bがaだとは分かるのですが、$aが bcdefg と無くなっています。正しいと思いますが、 私自身文字列の取り出しでてっきり abcdefgのままだと思っていたので驚きでした。 BASICでいう MID関数と同じような働きのPerl関数は あるのでしょうか?モジュールでも結構です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
my $a = "abcdefg"; my $b = substr($a, 0, 1); print "$a\n"; print "$b\n"; これだと $a は abcdefg のままでした。回答になったかわかりませんが・・
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
perldoc -f substr してみて下さい。 4つめの引数が指定された場合は、それで、該当部分が置き換えられます。 置き換えをしない場合は、#1で指摘されているように、4つめの引数は指定しません。