Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#!/usr/bin/env perl # Convert scripts to text files (or back to scripts) # Daniel Bowling
# Jan 2021 use strict; use warnings; use utf8; use open qw{:std :utf8}; use Data::Dumper; # Uncomment for debugging ## Variables ## my @files = @ARGV; my $text = <<'EOT'; Whenever I get a package of plain M&Ms, I make it my duty to continue the strength and robustness of the candy as a species. To this end, I hold M&M duels. Taking two candies between my thumb and forefinger, I apply pressure, squeezing them together until one of them cracks and splinters. That is the “loser,” and I eat the inferior one immediately. The winner gets to go another round. I have found that, in general, the brown and red M&Ms are tougher, and the newer blue ones are genetically inferior. I have hypothesized that the blue M&Ms as a race cannot survive long in the intense theater of competition that is the modern candy and snack-food world. Occasionally I will get a mutation, a candy that is misshapen, or pointier, or flatter than the rest. Almost invariably this proves to be a weakness, but on very rare occasions it gives the candy extra strength. In this way, the species continues to adapt to its environment. When I reach the end of the pack, I am left with one M&M, the strongest of the herd. Since it would make no sense to eat this one as well, I pack it neatly in an envelope and send it to M&M Mars, A Division of Mars, Inc., Hackettstown, NJ 17840-1503 U.S.A., along with a 3×5 card reading, “Please use this M&M for breeding purposes.” This week they wrote back to thank me, and sent me a coupon for a free 1/2 pound bag of plain M&Ms. I consider this “grant money.” I have set aside the weekend for a grand tournament. From a field of hundreds, we will discover the True Champion. There can be only one. EOT ## Functions ## sub make_text { my ($filename) = @_; # Get old and new filenames my $old_filename = $filename; my $new_filename = $filename . '.txt'; # Open the old and new files open(my $old_file, '<', $old_filename) || die $!; open(my $new_file, '>', $new_filename) || die $!; # Add the text to the new file first print $new_file $text; # Now the rest of the old file contents while (my $line = <$old_file>) { print $new_file $line } # No need to close old file close($new_file); return; } sub make_script { my ($filename) = @_; # Get old and new filenames my $old_filename = $filename; (my $new_filename = $filename) =~ s/\.txt$//i; # Open the old and new files open(my $old_file, '<', $old_filename) || die $!; open(my $new_file, '>', $new_filename) || die $!; # Variable to set when we match shebang line my $shebang; # Add lines after shebang while (my $line = <$old_file>) { $shebang = 1 if $line =~ /^#!/; print $new_file $line if $shebang; } # No need to close old file close($new_file); return; } ## Begin ## for my $file (@files) { ($file =~ /\.txt$/i) ? make_script($file) : make_text($file) }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)