Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.

# I just pasted some very old notes here...
# Edrx, 2004oct29

# «.perl-nle»		(to "perl-nle")
# «.perldb»		(to "perldb")
# «.Getopt::Std»	(to "Getopt::Std")
# «.argv»		(to "argv")
# «.argc»		(to "argc")
# «.Data::Dumper»	(to "Data::Dumper")
# «.Net::NNTP»		(to "Net::NNTP")
# «.reading_a_file_at_once»  (to "reading_a_file_at_once")
# «.eval_in_regsub»	(to "eval_in_regsub")
# «.filter»		(to "filter")




# (find-status   "perl-doc")
# (find-vldifile "perl-doc.list")
# (find-udfile   "perl-doc/")
# (find-man "1 perl")
# (find-man "1 perltoc")
# (find-man "1 perlsyn")
# (find-man "1 perldata")
# (find-man "1 perlop")
# (find-man "1 perlfunc")
# (find-man "1 perlfunc" "print LIST")

# (find-man "1 perlintro")




#####
#
# perl -nle
# 2000dec26
#
#####

# «perl-nle»  (to ".perl-nle")
# (find-man "1 perlrun")
# (find-man "1 perlrun" "    -n")
# (find-man "1 perlrun" "    -l[octnum]")
# (find-man "1 perlrun" "    -e commandline")
# (find-man "1 perlrun" "| perl -nle")
#*
perl -e  'print 2+3, "\n"'
perl -le 'print 2+3'
#*
ls /tmp | perl -nle '$n++; print "$n: \"$_\""'
ls /tmp | perl -nle 'print'
ls /tmp | perl -nle 'printf "\"%s\"\n", $_'
ls /tmp | perl -le 'while (<>) { printf "($_)" }'
ls /tmp | perl -e 'while (<>) { print "($_)" }'
#*
# (find-man "perlop" "The null filehandle <>")
# Use <STDIN> when you don't want the ARGV trick.





#####
#
# perldb
# 2000nov17
#
#####

# «perldb»  (to ".perldb")
# (find-man "perlfaq3")
# (find-man "perlfaq3" "perl -de 42")
# (find-man "perldebug")
# (find-pl5podfile "")
# (find-pl5podfile "perlfaq3.pod" "How can I use Perl interactively?")
# (find-pl5podfile "perldebug.pod")
# (eeman "perlfaq3" "interactively")
# (eeman "perldebug")
# (find-pl5file "5.004/perl5db.pl")
# (find-pl5file "5.005/perl5db.pl")

#*
cat > $EEG <<'---'
h

h h
|h h
---
eeg perl -de 42

#*

# (perldb "perl /usr/sbin/update-alternatives --display wish")
# (find-angg ".emacs" "gdbk-mode")
#*
# (gdbk-perldb t "/usr/sbin/update-alternatives --display wish" "" t)
#*
# (gdbk-perldb nil "/usr/sbin/update-alternatives --display wish")





#####
#
# Getopt::Std
# 2000may08
#
#####

# «Getopt::Std»  (to ".Getopt::Std")
# (eeman "Getopt::Std")
#*
cat > /tmp/p <<'---'
  use Getopt::Std;
  use Net::SMTP;
  getopt('s');
  print ":$opt_s:$ARGV[0]:\n"
---
perl /tmp/p -s 'Foo' Bar
perl /tmp/p -s 'Foo'
perl /tmp/p          Bar
perl /tmp/p
#*
# Options after the straight args don't work:
perl /tmp/p Bar -s 'Foo'


# Were is it said that GNU's getopt accepts options after the other
# args (but before "--")? Not in the obvious place:

# (find-node "(libc)Getopt")




#####
#
# argv and argc
#
#####

# «argv»  (to ".argv")
# (find-man "perlvar" "@ARGV")
# (find-man "perldata" "$#days")

#*
# «argc»  (to ".argc")
# About argc:
perl -le 'print ":", @ARGV+0, ":";'
perl -le 'print ":", @ARGV+0, ":";'  an_arg
perl -le 'print ":$#ARGV:"'
perl -le 'print ":$#ARGV:";'
perl -le 'print ":$#ARGV:";' foo
perl -le 'print ":$#ARGV:";' foo bar
perl -le 'print ":$#ARGV:";' foo bar plic
#*




#####
#
# sendEmail
# 2000may08
#
#####

# «sendEmail»

# (find-fline "$S/http/marvin.criadvantage.com/caspian/Software/SendEmail/sendEmail-v1.20.tar.gz")

rm -Rv /usr/src/sendEmail/
cd /usr/src/
tar -xvzf $S/http/marvin.criadvantage.com/caspian/Software/SendEmail/sendEmail-v1.20.tar.gz
cd /usr/src/sendEmail/

# (find-fline "/usr/src/sendEmail/sendEmail")
# (find-fline "/usr/src/sendEmail/sendEmail" "sub help")

cd /usr/src/sendEmail/
./sendEmail -f hahaha -t edrx -u Teste -m Hello -vv


# But instead of learning enough of this to use it to send email from
# my machine bypassing the broken exim, I decided to perfect my code
# that called Net::SMTP... and solved the problem.

# (find-es "mail" "Net::SMTP2")
# (find-fline "~/bin/sendemail")





#####
#
# Data::Dumper
# 2000may09
#
#####

# «Data::Dumper»  (to ".Data::Dumper")
# (find-man "Data::Dumper")

# (eeman "CGI")
# (eeman "CGI" "CGI.INPUTFILE.")
# (find-pl5file "5.005/Data/Dumper.pm" "=head1")
# pod2t /usr/lib/perl5/5.005/Data/Dumper.pm |& l

#*
echo foo=bar > /tmp/oc
cat > /tmp/p <<'---'
  use CGI;
  open(QF, "/tmp/oc");
  $query = new CGI(QF);
  #
  use Data::Dumper;
  print Dumper('$query', $query);
  sub pdump { print "\n  $_[0] =\n", Dumper($_[1]); }
  pdump('$query', $query);
---
perl /tmp/p
#*
# And this one shows some things about references.
# (eeman "perlref")

cat > /tmp/p <<'---'
  use Data::Dumper;
  sub pdump { print "\n  $_[0] =\n", Dumper($_[1]); }
  @a = ['aa', 'bb'];
  $b = \@a;
  $c = ['aa', 'bb'];
  pdump('@a', @a);
  pdump('$b', $b);
  pdump('$c', $c);
  pdump('join', join('', @$c));
---
perl /tmp/p
#*





#####
#
# reading an entire file at once
# 2000oct02
#
#####

# «reading_a_file_at_once»  (to ".reading_a_file_at_once")
# (find-man "perlvar" "input record separator")
# (find-man "perlop" "null filehandle")
#*
ls /tmp \
  | perl -e 'undef $/; print "AAAA:", <>, ":ZZZZ\n";'
#*



#####
#
# "/e" in regsub
# 2001jan15
#
#####

# «eval_in_regsub»  (to ".eval_in_regsub")
# (find-angg ".zshrc" "save-input")
# (eeman "perlop" "abc246xyz")
# (find-pl5podfile "perlop.pod" "abc246xyz")
# (find-pl5podfile "perlfunc.pod" "=item chr\n")

# (find-man "perlop" "s/PATTERN/REPLACEMENT/egimosx")
# (find-man "perlop" "yields 'abc  246xyz'")
# (find-man "perlfunc" "   chr NUMBER")
# (find-zshnode "Shell Builtin Commands" "echo")
#*
echo -ne '\r\a\n\f\t' \
  | perl -nle '
      s/[\000-\037]/"^".chr(ord($&)+64)/eg; print
    '
#*




#####
#
# filter
# 2001jul11
#
#####

# «filter»  (to ".filter")
# (find-man "perlfunc" "split /")
# (find-man "perlop" "   Quote and Quote-like Operators\n")
#*
# (find-angg ".zshrc" "filter")
function filter () {
  WHICH=$1 \
  perl -nle '
    if (m/;;-> (.*)/) {
      $doprint = 0;
      for $p (split(/ /, $1)) {
	for $w (split(/,/, $ENV{"WHICH"})) {
          if ($p eq $w) { $doprint = 1 }
        }
      }
    } else {
      if ($doprint) { print; }
    }
  '
}

cat > /tmp/file <<'---'
one
;;-> foo
two
;;-> bar baz
three
;;-> foo baz
four
;;-> fiv
five
---

cat /tmp/file | filter foo
cat /tmp/file | filter bar
cat /tmp/file | filter baz
cat /tmp/file | filter foo,fiv
#*








/x for whitespace and comments
use re "debug"
will cause the perl regex engine to spit out lots of comments about
what it's doing
use re 'debugcolor'
perl -Mre=debugcolor -e '"hi" =~ /h([a-z]*)/'









#  Local Variables:
#  coding:               raw-text-unix
#  ee-delimiter-hash:    "\n#*\n"
#  ee-anchor-format:     "«%s»"
#  End: