1
下面是示例代碼:爲什麼在Perl指數函數的行爲出現異常這裏
my $test = "Mike Xavier Smith/123-45-1111/student";
my $name = substr($test, 0, index($test, "/"));
my $ssn = substr($test,index($test,"/"));
my $type = substr($test,index($test, "/", 2));
print "$name, $ssn, $type \n";
exit;
輸出: 邁克·澤維爾·史密斯/ 123-45-1111 /學生/ 123-45-1111 /學生
This line substr($ test,index($ test,「/」,2)); #offset應該來自第二次出現的「/」,這意味着它應該打印/學生。
但是爲什麼從第一次出現「/」打印呢?
那麼「perlmeme.org」如何顯示5的索引(「perlmeme.org」,「e」,2)? – Jassi
@Jassi,爲什麼不呢?請記住,這些位置是偏移量(從0開始)。 – ikegami
因爲「p」和「e」被省略了嗎?試試'perl -we'打印索引(「perlmeme.org」,「e」,3);' - 它仍然會得到「5」。 – Dallaylaen