perl - 概要・基本文法 - パターンマッチ演算子・置換

 クラウディア
1. 等価演算子
2. 文字列の置換

1. パターンマッチ演算子

演算子 意味備考
=~ 文字列にパターンが含まれていれば真
!~ 文字列にパターンが含まれていなれば真


#!/usr/local/bin/perl

my $str = 'abcdef';
my $pat1 = 'abc';
my $pat2 = 'xyz';

if ($str =~ /$pat1/)
{
	print "[$str] is in [$pat1]\n";
}

if ($str =~ /$pat2/)
{
	print "[$str] is in [$pat2]\n";
}

if ($str !~ /$pat1/)
{
	print "[$str] is not in [$pat1]\n";
}

if ($str !~ /$pat2/)
{
	print "[$str] is not in [$pat2]\n";
}
 これを実行すると以下が出力されます。

[abcdef] is in [abc]
[abcdef] is not in [xyz]

2. 文字列の置換


文字列 =~ s/パターン1/パターン2/;
 と記述すると、文字列中のパターン1の文字列をパターン2に置き換えます。

#!/usr/local/bin/perl

my $str = 'abcdef';

print '$str = ' . "[$str]\n";

$str =~ s/abc/xyz/;

print '$str = ' . "[$str]\n";
 これを実行すると以下が出力されます。

$str = [abcdef]
$str = [xyzdef]