หากคุณเขียน Perl ด้วยuse strict;
คุณจะพบว่าไวยากรณ์บรรทัดเดียวไม่ถูกต้องแม้ว่าจะประกาศแล้วก็ตาม
ด้วย:
my ($newstring = $oldstring) =~ s/foo/bar/;
คุณได้รับ:
Can't declare scalar assignment in "my" at script.pl line 7, near ") =~"
Execution of script.pl aborted due to compilation errors.
use strict;
แต่ไวยากรณ์ที่คุณได้รับใช้ในขณะที่สายอีกต่อไปเป็นวิธีที่ถูกต้องไวยากรณ์ที่จะทำกับ สำหรับฉันแล้วการใช้use strict;
เป็นเพียงนิสัยในตอนนี้ ฉันทำมันโดยอัตโนมัติ ทุกคนควร
#!/usr/bin/env perl -wT
use strict;
my $oldstring = "foo one foo two foo three";
my $newstring = $oldstring;
$newstring =~ s/foo/bar/g;
print "$oldstring","\n";
print "$newstring","\n";