2012年5月26日土曜日

開発環境

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

3.

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

コード(TextWrangler)

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

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

入出力結果(Terminal)

$ perl sample.pl
Apple_PubSub_Socket_Render: /tmp/launch-L15Zsa/Render
Apple_Ubiquity_Message    : /tmp/launch-UDzHl0/Apple_Ubiquity_Message
COMMAND_MODE              : unix2003
DISPLAY                   : /tmp/launch-NnfqYx/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
SECURITYSESSIONID         : 186a6
SHELL                     : /bin/bash
SHLVL                     : 1
SSH_AUTH_SOCK             : /tmp/launch-2uvlqc/Listeners
TERM                      : xterm-256color
TERM_PROGRAM              : Apple_Terminal
TERM_PROGRAM_VERSION      : 303.2
TERM_SESSION_ID           : C1ED90BB-0963-4DC8-B53B-E1BD356F7CA1
TMPDIR                    : /var/folders/1v/dvc2tljs2_z3zqn56g_29rl00000gn/T/
USER                      : kamimura
_                         : /opt/local/bin/perl
__CF_USER_TEXT_ENCODING   : 0x1F5:0:0
$

0 コメント:

コメントを投稿