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]
|
|