2012年6月15日金曜日

開発環境

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の10章(さまざまな制御構造), 10.11(練習問題)3を解いてみる。

3.

やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))

コード(TextWrangler)

#!/usr/bin/env perl
use strict;
use warnings;
use 5.012;

$ENV{UNDEF} = undef;

my $width = 0;
for(keys %ENV){
  $width = length $_ if length $_ > $width;
}
for(sort keys %ENV){
  $ENV{$_} = $ENV{$_} // 'undefined value';
  printf "%-${width}s %s\n",$_, $ENV{$_};
}

入出力結果(Terminal)

$ ./sample.pl
Apple_PubSub_Socket_Render /tmp/launch-TSewPK/Render
Apple_Ubiquity_Message     /tmp/launch-Hat74o/Apple_Ubiquity_Message
COMMAND_MODE               unix2003
DISPLAY                    /tmp/launch-l9Yc3F/org.x:0
HOME                       /Users/kamimura
LANG                       ja_JP.UTF-8
LOGNAME                    kamimura
OLDPWD                     /Users/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
PWD                        /Users/kamimura/documents/perl
SHELL                      /bin/bash
SHLVL                      1
SSH_AUTH_SOCK              /tmp/launch-4N9y58/Listeners
TERM                       xterm-256color
TERM_PROGRAM               Apple_Terminal
TERM_PROGRAM_VERSION       303.2
TERM_SESSION_ID            6C192874-B831-4810-ADDB-9CF4D4547D01
TMPDIR                     /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/
UNDEF                      undefined value
USER                       kamimura
_                          ./sample.pl
__CF_USER_TEXT_ENCODING    0x1F5:0:0
$

0 コメント:

コメントを投稿