.preferred_modules.ini 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. [JSON]
  2. [JSON::PP]
  3. [JSON::XS]
  4. prefer = Cpanel::JSON::XS
  5. reason = "Use a correct & fast JSON parser"
  6. [YAML]
  7. [YAML::PP]
  8. [YAML::Syck]
  9. prefer = YAML::XS
  10. reason = "Use a correct & fast YAML parser"
  11. [Sereal]
  12. [Storable]
  13. prefer = Cpanel::JSON::XS
  14. reason = "JSON/YAML is preferred serialization format"
  15. [File::Slurper]
  16. prefer = File::Slurper::Temp
  17. for = write_binary write_text
  18. reason = "Avoid mangling files with concurrent writes"
  19. [constant]
  20. prefer = Readonly
  21. reason = "A Readonly variable interpolates, has a sigil to find it by, and refuses an assignment at run time"
  22. [perl/rand]
  23. prefer = Crypt::PRNG
  24. reason = builtin rand() insecure
  25. [perl/sleep]
  26. prefer = Time::HiRes
  27. reason = "The builtin sleeps whole seconds, so a poll interval cannot be shorter than a second"
  28. [perl/time]
  29. prefer = Time::HiRes
  30. reason = "The builtin counts whole seconds, so time + N can end anywhere from N - 1 to N seconds later"
  31. [perl/alarm]
  32. prefer = Time::HiRes
  33. reason = "The builtin takes whole seconds, so it cannot time out sooner than a second"
  34. [perl/readdir]
  35. reason="Use File::Find::find() instead"
  36. [Term::ReadKey]
  37. [IO::Prompt]
  38. [IO::Prompt::Tiny]
  39. [Term::Prompt]
  40. [Prompt::Timeout]
  41. prefer = IO::Prompter
  42. reason = "One way to ask for input; it suppresses echo and copes with not having a terminal"
  43. [MIME::Base32::XS]
  44. [Encode::Base2N]
  45. prefer = MIME::Base32
  46. reason = "MIME::Base32::XS corrupts the heap and pads its output, and Encode::Base2N needs a C++ build that cpm cannot install"