【perl】数と文字列の復習〜vol.4〜ヒアドキュメントと置換

#! usr/bin/perl

use strict;
use warnings;


=head
my $str = 'programming lesson is fun!';
my $s = substr($str,12, 6, 'perl');
print "\$str = $str\n";
print "\$s = $s\n";
=cut

=head
my $str = 'my name is dog.!';
my $s = substr($str,11, 3, 'perl'); #切り出した文字だけを$sに代入
print "\$str = $str\n";       #出力結果 my name is perl.!
print "\$s = $s\n";         #出力結果 dog
=cut


=head
my $str = 'my name is dog.!';
print substr($str,11, 3, 'perl'); #出力結果 dog ←切り出したところだけが表示されている。
=cut


=head
#関数index  文字列の中に含まれている別の文字列の位置が分かる
print index('programming lesson', 'ing'), "\n";  #出力結果 8 ←ingは8の位置にある
print index('programming lesson', 'perl'), "\n"; #出力結果 -1 ←perlという文字列はないという意味
print index('programming lesson', 'r'), "\n";    #出力結果 1 ←複数ある場合は一番最初に見つかった位置

print rindex('programming lesson', 'r'), "\n";    #出力結果 4 ←関数rindexは一番最後に見つかった位置を返す
=cut


=head
#文字を置換するときは、関数substrより文字列置換(正規表現)s///の方が便利
#理由:substrは置換したい文字列の位置を知っておかなくてはいけない。
my $str = 'prigramming lesson is funny!';
$str =~s/lesson/perl/; #lessonをperlに置き換える
print "\$str = $str\n"; 出力結果 prigramming perl is funny!
=cut


#ヒアドキュメント
my $str = <<"EOD";
programming lesson
programming perl
EOD


#$strに、<<"EOD"からEODに囲まれた部分が代入されている。EODでなくてもいいが、ヒアドキュメント内で使用してない文字列しか使っちゃだめ。
print $str,"\n"; 
#出力結果は以下の2行
#programming lesson
#programming perl


my $z = <<"HTML_1";
I'm very sleepy.
but I have to go.
what should I do?
HTML_1
#ヒアドキュメント終了の印の前後には、何も書いてはいけない。スペースもだめ。

print $z,"\n";
#出力結果は以下の3行
#I'm very sleepy.
#but I have to go.
#what should I do?