6ϤΥץ륳
---------------------
ܼʥڡֹ
P116
P117
P118
P119-1
P119-2
P120-1
P120-2
P121
P125-1
P125-2
P125-3
P126-1
P126-2
P128
P130
P133
P134-1
P134-2
P135-1
P135-2
---------------------

P116
# printؿμ¸
#  print.pl

$_ = "ˤϡ\n";

# üѿ$_ɽ
print;

# եprint.txt򥪡ץ
open(F, ">print.txt");

# üѿ$_򡢥եϥɥFդƤեprint.txt˽񤭽Ф
print F;
close(F);

# ꥹȤɽ
print ("", "", "Ϻ", "Ǥ\n");

@list = ("ʤ", "", "ֻ", "", "Ǥ\n");

# ɽ
print @list;

P117
# printfsprintfΥƥ
#  printf.pl

# ʸ
printf("ʸ:\t%s\n", "ϺǤ");

# 
printf(":\t%08d\n", 1234);

# *
printf("*:\t%0*d\n", 6, 1234);

# ư
printf("ư:\t%.2f\n", 12.3456);

# 8ʿ16ʿ
$buffer = sprintf("8ʿ:\t%#o\n16ʿ:\t%#x\n", 123, 123);
print $buffer;

P118
# splitȤäʸʬ䤹
#  split.pl

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);

# ڡʸǶڤ
@words = split(/\s+/, $string);
foreach (@words) {
  # Ǥɽ
  print "ñ: $_\n";
}

P119-1
# splitȤäʸ2Ĥʬ䤹
#  split2.pl

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);

# ڡʸ2Ĥ˶ڤ
($pre, $post) = split(/\s+/, $string, 2);

# ڡʸʸɽ
print "ǽʸ: $pre\n";
print "ʸ  : $post\n";

P119-2
# joinȤäǤ
#  join.pl

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);

# ڡʸǶڤ
@words = split(/\s+/, $string);

# Ǥδ֤,ɽ
print join(",", @words), "\n";

P120-1
# chopchomp
#  chop_chomp.pl

$string1 = "Perl\n";
$string2 = $string1;

# chopchomp򤽤줾2¹Ԥ
chop($string1);
chop($string1);
chomp($string2);
chomp($string2);

# ɽ
print "chop:  $string1\n";
print "chomp: $string2\n";

P120-2
# lengthΥƥ
#  length.pl

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);

# ĹĴ٤
print "ʸĹ: ", length($string), "\n";

P121
# lengthΥƥ (encodingˤܸб)
#  jlength.pl

# Shift_JISȤencoding⥸塼Ͽ
# (UnixĶǤ use encoding "euc-jp";)
use encoding "Shift_JIS";

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);

# ĹĴ٤
print "ʸĹ: ", length($string), "\n";

P125-1
# 󥸥Ȥ
#  tan.pl

print "饸ͤ: ";
$radian = <STDIN>;
chomp($radian);

# 󥸥Ȥ׻
print ("󥸥: ", (sin($radian) / cos($radian)), "\n");

P125-2
# ʿ
#  sqrt.pl

print "ͤϤƤ: ";
$number = <STDIN>;
chomp($number);

print "ʿ: ", sqrt($number), "\n";

P125-3
# intθ̤ƥȤ
#  int.pl

# intʤ
print "intʤ: ", (13 / 6), "\n";

# int
print "int: ", int(13 / 6), "\n";

P126-1
# 
#  rand.pl

print "ͤϤƤ: ";
$number = <STDIN>;
chomp($number);

# ɽ
print rand($number), "\n";

P126-2
# explogΥƥ
#  exp_log.pl

print "e: ", exp(1), "\n";
print "log e 100: ", log(100), "\n";

P128
# ־ɽ
#  time.pl

# ˥åɸǼ
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime( );

# ɽ
printf("˥å:\t%s/%s/%s %s %02d:%02d:%02d\n", 
  $year + 1900, ++$mon, $mday,
	("", "", "", "", "", "", "")[$wday],
	$hour, $min, $sec);

printf("\tƻ:%s\n", $isdst ? "" : "ʤ");
printf("\tǯϤ: %s \n", $yday);

# Ǽ
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime( );

# ɽ
printf(":\t%s/%s/%s %s %02d:%02d:%02d\n", 
  $year + 1900, ++$mon, $mday,
	("", "", "", "", "", "", "")[$wday],
	$hour, $min, $sec);

printf("\tƻ:%s\n", $isdst ? "" : "ʤ");
printf("\tǯϤ: %s \n", $yday);

P130
# Ϥ줿ǯ˴Ť1970ǯ11ηв
#  countday.pl

use Time::Local;

# ǯ
print "ǯ (YYYY/MM/DD): ";
$string = <STDIN>;
chomp($string);
($year, $month, $day) = split(/\//, $string);

print "1970ǯ11: ", (timegm(0, 0, 0, $day, 
  $month - 1, $year - 1900) / (60 * 60 * 24)), "\n";

P133
# 0evalª
#  eval.pl

# eval̿¹Ԥ
eval("\$value = 2 / 0");

# 顼Ȥɽ
print "顼ȯޤ: $@" if ($@);

P134-1
# ڡʸǶڤäͥꥹȤ󤹤
#  sort.pl

print "Ǥ򥹥ڡʸǶڤäͤΥꥹȤϤƤ: ";
$numbers = <STDIN>;
chomp($numbers);

# Ȥɽ
print join(", ", sort { $a <=> $b } (split(/\s+/, 
  $numbers))), "\n";

P134-2
# ڡʸǶڤäͥꥹȤս󤹤
#  sort_reverse.pl

print "Ǥ򥹥ڡʸǶڤäͤΥꥹȤϤƤ: ";
$numbers = <STDIN>;
chomp($numbers);

# Ȥɽ
print join(", ", reverse(sort { $a <=> $b } (split(/\s+/, 
  $numbers)))), "\n";

P135-1
# packunpackΥƥ
#  pack_unpack.pl

print "ʸϤƤ: ";
$string = <STDIN>;
chomp($string);
$length = length($string);

print "ͤϤƤ: ";
$number = <STDIN>;
chomp($number);

# ѥå
$packed = pack("A${length}i", $string, $number);
print "ѥåʸ: $packed\n";

# ѥå
($string2, $number2) = unpack("A${length}i", $packed);
print "ʸ: $string2 ο: $number2\n";

P135-2
# ȥ
#  sleep.pl

for ($i = 10; $i > 0; $i--) {
  print "$i.\n";
  sleep(1);
}
