開発環境
- OS X Lion - Apple(OS)
- BBEdit(Text Editor)
- プログラミング言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の110章(さまざまな制御構造)、10.11(練習問題)3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; $ENV{UNDEFINED} = undef; $ENV{ZERO} = 0; $ENV{EMPTY} = ''; my @keys = sort keys %ENV; my $cols = 0; for (@keys) { $cols = length $_ if length $_ > $cols; } for (@keys) { printf "%-${cols}s %s\n", $_, $ENV{$_} // 'undefined value'; }
入出力結果(Terminal)
$ ./sample.pl Apple_PubSub_Socket_Render /tmp/launch-KLmHoj/Render Apple_Ubiquity_Message /tmp/launch-1CDVv1/Apple_Ubiquity_Message COMMAND_MODE unix2003 DEBUG 0 DISPLAY /tmp/launch-eUDtQM/org.x:0 EMPTY HOME /Users/kamimura LANG ja_JP.UTF-8 LOGNAME kamimura OLDPWD /Users/kamimura/documents/python PATH /Users/kamimura/pear/bin/:/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin/:/Library/Frameworks/Python.framework/Versions/3.2/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/MacGPG2/bin PWD /Users/kamimura/documents/perl SECURITYSESSIONID 186a6 SHELL /bin/bash SHLVL 1 SSH_AUTH_SOCK /tmp/launch-TsG4aL/Listeners TERM xterm-256color TERM_PROGRAM Apple_Terminal TERM_PROGRAM_VERSION 303.2 TERM_SESSION_ID B4544D29-8B5A-4F28-87AD-1F8F208F7F85 TMPDIR /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/ UNDEFINED undefined value USER kamimura ZERO 0 _ ./sample.pl __CF_USER_TEXT_ENCODING 0x1F5:0:0 $
python3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- import os, random, re # os.environの値は文字列じゃないとTypeErrorが発生するみたい os.environ["NONE"] = str(None) os.environ['ZERO'] = str(0) os.environ['EMPTY'] = "" cols = 0 for x in os.environ: if len(x) > cols: cols = len(x) for k, v in os.environ.items(): print(("{0:" + str(cols) + "} {1}").format(k, v))
入出力結果(Terminal)
$ ./sample.py NONE None COMMAND_MODE unix2003 EMPTY USER kamimura PATH /Users/kamimura/pear/bin/:/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin/:/Library/Frameworks/Python.framework/Versions/3.2/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/MacGPG2/bin TERM xterm-256color TERM_PROGRAM_VERSION 303.2 Apple_Ubiquity_Message /tmp/launch-1CDVv1/Apple_Ubiquity_Message TMPDIR /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/ TERM_PROGRAM Apple_Terminal HOME /Users/kamimura LANG ja_JP.UTF-8 OLDPWD /Users/kamimura/documents/python SHELL /bin/bash _ ./sample.py ZERO 0 LOGNAME kamimura TERM_SESSION_ID B4544D29-8B5A-4F28-87AD-1F8F208F7F85 SHLVL 1 DISPLAY /tmp/launch-eUDtQM/org.x:0 __PYVENV_LAUNCHER__ /opt/local/bin/python3.3 SSH_AUTH_SOCK /tmp/launch-TsG4aL/Listeners DEBUG 0 __CF_USER_TEXT_ENCODING 0x1F5:0:0 PWD /Users/kamimura/documents/perl SECURITYSESSIONID 186a6 Apple_PubSub_Socket_Render /tmp/launch-KLmHoj/Render $
0 コメント:
コメントを投稿