perl.snippets 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # #!/usr/bin/perl
  2. snippet #!
  3. #!/usr/bin/perl
  4. # Hash Pointer
  5. snippet .
  6. =>
  7. # Function
  8. snippet sub
  9. sub ${1:function_name} {
  10. ${2:#body ...}
  11. }
  12. # Conditional
  13. snippet if
  14. if (${1}) {
  15. ${2:# body...}
  16. }
  17. # Conditional if..else
  18. snippet ife
  19. if (${1}) {
  20. ${2:# body...}
  21. } else {
  22. ${3:# else...}
  23. }
  24. # Conditional if..elsif..else
  25. snippet ifee
  26. if (${1}) {
  27. ${2:# body...}
  28. } elsif (${3}) {
  29. ${4:# elsif...}
  30. } else {
  31. ${5:# else...}
  32. }
  33. # Conditional One-line
  34. snippet xif
  35. ${1:expression} if ${2:condition};${3}
  36. # Unless conditional
  37. snippet unless
  38. unless (${1}) {
  39. ${2:# body...}
  40. }
  41. # Unless conditional One-line
  42. snippet xunless
  43. ${1:expression} unless ${2:condition};${3}
  44. # Try/Except
  45. snippet eval
  46. eval {
  47. ${1:# do something risky...}
  48. };
  49. if ($@) {
  50. ${2:# handle failure...}
  51. }
  52. # While Loop
  53. snippet wh
  54. while (${1}) {
  55. ${2:# body...}
  56. }
  57. # While Loop One-line
  58. snippet xwh
  59. ${1:expression} while ${2:condition};${3}
  60. # For Loop
  61. snippet for
  62. for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {
  63. ${4:# body...}
  64. }
  65. # Foreach Loop
  66. snippet fore
  67. foreach my $${1:x} (@${2:array}) {
  68. ${3:# body...}
  69. }
  70. # Foreach Loop One-line
  71. snippet xfore
  72. ${1:expression} foreach @${2:array};${3}
  73. # Package
  74. snippet cl
  75. package ${1:ClassName};
  76. use base qw(${2:ParentClass});
  77. sub new {
  78. my $class = shift;
  79. $class = ref $class if ref $class;
  80. my $self = bless {}, $class;
  81. $self;
  82. }
  83. 1;${3}
  84. # Read File
  85. snippet slurp
  86. my $${1:var};
  87. { local $/ = undef; local *FILE; open FILE, "<${2:file}"; $$1 = <FILE>; close FILE }${3}