2013年3月7日木曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の6章(ハッシュ)、6.6(練習問題)3を解いてみる。

その他参考書籍

3.

コード(BBEdit)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';

my $cols = 0;
for my $key (keys %ENV) {
    $cols = length $key if $cols < length $key;
}
print map {sprintf "%-${cols}s => %s\n", $_, $ENV{$_}} sort keys %ENV;

入出力結果(Terminal)

$ ./sample.pl
Apple_PubSub_Socket_Render => /tmp/launch-HSrwtL/Render
Apple_Ubiquity_Message     => /tmp/launch-Jhii7h/Apple_Ubiquity_Message
COMMAND_MODE               => unix2003
DISPLAY                    => /tmp/launch-15L8p6/org.x:0
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          => 186a4
SHELL                      => /bin/bash
SHLVL                      => 1
SSH_AUTH_SOCK              => /tmp/launch-ZbIMTG/Listeners
TERM                       => xterm-256color
TERM_PROGRAM               => Apple_Terminal
TERM_PROGRAM_VERSION       => 303.2
TERM_SESSION_ID            => A3518C61-FA3D-4D6F-9D22-860357B0B205
TMPDIR                     => /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/
USER                       => kamimura
_                          => ./sample.pl
__CF_USER_TEXT_ENCODING    => 0x1F5:0:0
$

pythonの場合。

コード(BBEdit)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

import os

cols = 0
for k in os.environ:
    if len(k) > cols:
        cols = len(k)

for k in sorted(os.environ):
    print("%-{0}s => %s".format(cols) % (k, os.environ[k]))

入出力結果(Terminal)

$ ./sample.py
Apple_PubSub_Socket_Render => /tmp/launch-HSrwtL/Render
Apple_Ubiquity_Message     => /tmp/launch-Jhii7h/Apple_Ubiquity_Message
COMMAND_MODE               => unix2003
DISPLAY                    => /tmp/launch-15L8p6/org.x:0
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          => 186a4
SHELL                      => /bin/bash
SHLVL                      => 1
SSH_AUTH_SOCK              => /tmp/launch-ZbIMTG/Listeners
TERM                       => xterm-256color
TERM_PROGRAM               => Apple_Terminal
TERM_PROGRAM_VERSION       => 303.2
TERM_SESSION_ID            => A3518C61-FA3D-4D6F-9D22-860357B0B205
TMPDIR                     => /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/
USER                       => kamimura
_                          => ./sample.py
__CF_USER_TEXT_ENCODING    => 0x1F5:0:0
__PYVENV_LAUNCHER__        => /opt/local/bin/python3.3
$

0 コメント:

コメントを投稿