By Thursday, the Perl script was still ugly. But it was consistent in its ugliness. Every else was cuddled. Every subroutine had a return . Every filehandle used the three-argument open . The auditors, who didn’t read Perl, saw a printed metric: “Cyclomatic complexity: reduced 42%.” They signed off.
He felt a pang of shame. The core script had neither.
He thought of the thirty-seven lines where $a held a transaction ID and $b held a customer’s social security number.
Chapter 18: Use named regex captures, not $1 , $2 , $3 .
That Friday, Erwin closed the PDF for the last time. He didn’t delete it. He renamed it to perl_best_practices_FINAL_v2_FINAL.pdf —a small, ironic act of rebellion.
The junior dev, remorseful, asked how to help. Erwin slid her a USB stick. “Read Chapters 1 through 7. Then rename every $temp variable to something that means something.”
By Thursday, the Perl script was still ugly. But it was consistent in its ugliness. Every else was cuddled. Every subroutine had a return . Every filehandle used the three-argument open . The auditors, who didn’t read Perl, saw a printed metric: “Cyclomatic complexity: reduced 42%.” They signed off.
He felt a pang of shame. The core script had neither. perl best practices pdf
He thought of the thirty-seven lines where $a held a transaction ID and $b held a customer’s social security number. By Thursday, the Perl script was still ugly
Chapter 18: Use named regex captures, not $1 , $2 , $3 . Every subroutine had a return
That Friday, Erwin closed the PDF for the last time. He didn’t delete it. He renamed it to perl_best_practices_FINAL_v2_FINAL.pdf —a small, ironic act of rebellion.
The junior dev, remorseful, asked how to help. Erwin slid her a USB stick. “Read Chapters 1 through 7. Then rename every $temp variable to something that means something.”