+#+TITLE: Study Note
+#+AUTHOR: Peng Li
+#+EMAIL: seudut@gmail.com
+#+DATE: 2016-08-18
+
+* Programming Languages
+** gnuplog
+
+1. normal
+#+BEGIN_SRC gnuplot :exports code :file ./temp/sin.png
+ reset
+ plot sin(x)/x
+#+END_SRC
+
+#+RESULTS:
+[[file:./temp/sin.png]]
+
+2. plot with data file
+#+BEGIN_SRC
+
+#+END_SRC
+
+
+* Perl One Line Command
+#+BEGIN_SRC sh :exports both :results output replace
+ perl --help
+#+END_SRC
+
+#+RESULTS:
+#+begin_example
+
+Usage: perl [switches] [--] [programfile] [arguments]
+ -0[octal] specify record separator (\0, if no argument)
+ -a autosplit mode with -n or -p (splits $_ into @F)
+ -C[number/list] enables the listed Unicode features
+ -c check syntax only (runs BEGIN and CHECK blocks)
+ -d[:debugger] run program under debugger
+ -D[number/list] set debugging flags (argument is a bit mask or alphabets)
+ -e program one line of program (several -e's allowed, omit programfile)
+ -E program like -e, but enables all optional features
+ -f don't do $sitelib/sitecustomize.pl at startup
+ -F/pattern/ split() pattern for -a switch (//'s are optional)
+ -i[extension] edit <> files in place (makes backup if extension supplied)
+ -Idirectory specify @INC/#include directory (several -I's allowed)
+ -l[octal] enable line ending processing, specifies line terminator
+ -[mM][-]module execute "use/no module..." before executing program
+ -n assume "while (<>) { ... }" loop around program
+ -p assume loop like -n but print line also, like sed
+ -s enable rudimentary parsing for switches after programfile
+ -S look for programfile using PATH environment variable
+ -t enable tainting warnings
+ -T enable tainting checks
+ -u dump core after parsing program
+ -U allow unsafe operations
+ -v print version, patchlevel and license
+ -V[:variable] print configuration summary (or a single Config.pm variable)
+ -w enable many useful warnings
+ -W enable all warnings
+ -x[directory] ignore text before #!perl line (optionally cd to directory)
+ -X disable all warnings
+
+Run 'perldoc perl' for more help with Perl.
+
+#+end_example
+
+1. Used as =grep=
+#+BEGIN_SRC sh
+ perl -ne 'print if /expression/' xxx.log;
+#+END_SRC
+
+Or
+#+BEGIN_SRC sh
+ perl -wnl -e '/keyword/ and print;' xxx.log
+#+END_SRC
+
+
+2. Used as =awk=
+#+BEGIN_SRC sh
+ perl -ne 'print "$1\n" if /aaa=(\d+)\s.*/' xxx.log;
+#+END_SRC
+
+3.
+#+BEGIN_SRC sh
+ perl -pe 'some code' < input.txt > output.txt
+#+END_SRC
+