ワンライナー(その1)

基本のワンライナー

perl -w   -e 'while (<>) { print; }' file
perl -wnl -e '             print;  ' file
perl -wpl -e '                     ' file

解説

オプション 意味、説明 つまり。。。
-w enable many useful warnings (RECOMMENDED) 警告表示
-n assume "while (<>) { ... }" loop around program 表示なしループ
-p assume loop like -n but print line also, like sed 表示ありループ
-l[octal] enable line ending processing, specifies line terminator 行末処理(改行とか)
-e 'program' one line of program (several -e's allowed, omit programfile) programの実行
-a autosplit mode with -n or -p (splits $_ into @F) 分割(split)
-aF'pattern’ split() pattern for -a switch (//'s are optional) 分割カスタムデリミタ設定

参考

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)
  -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
  -P              run program through C preprocessor before compilation
  -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, subversion (includes VERY IMPORTANT perlinfo)
  -V[:variable]   print configuration summary (or a single Config.pm variable)
  -w              enable many useful warnings (RECOMMENDED)
  -W              enable all warnings
  -x[directory]   strip off text before #!perl line and perhaps cd to directory
  -X              disable all warnings