我需要轉換
$foo= 101100為10aabb
目前正在使用它,但它替換了整個字串
$foo =~ tr/10/ab/;
uj5u.com熱心網友回復:
這里有一些 Perl 魔法給你:
my $foo = 101100;
substr($foo, 2) =~ tr/10/ab/;
print $foo;
輸出:
10aabb
基本上我們取字串的子字串,從第二個字符偏移量開始,并音譯它。
在substr 的檔案中,您可以閱讀以下內容:
您可以將 substr 函式用作左值,在這種情況下,EXPR 本身必須是左值。
...
當用作左值時,指定完全在字串之外的子字串會引發例外。這是一個顯示邊界情況行為的示例:
my $name = 'fred';
substr($name, 4) = 'dy'; # $name is now 'freddy'
my $null = substr $name, 6, 2; # returns "" (no warning)
my $oops = substr $name, 7; # returns undef, with warning
substr($name, 7) = 'gap'; # raises an exception
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/504243.html
