• ベストアンサー

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関数は あるのでしょうか?モジュールでも結構です。

質問者が選んだベストアンサー

  • ベストアンサー
  • SE-1
  • ベストアンサー率57% (26/45)
回答No.1

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つめの引数は指定しません。

関連するQ&A