#!/usr/bin/perl use MIME::Base64 (); $format = ".b64.txt"; if ($ARGV[0] eq 'e') { &encode; } elsif ($ARGV[0] eq 'd') { &decode; } else { print "$ARGV[0] $ARGV[1]" } sub encode { open(DB, "$ARGV[1]"); binmode(DB); $value = join('',); close(DB); $values = MIME::Base64::encode($value); $values =~ s/\n//g; # $values =~ s|(.{128})|$1\n|g; open(DB, ">$ARGV[1]$format"); print DB $values; close(DB); print "$ARGV[1] を base64 でエンコードしたにょろ"; } sub decode { open(DB, "$ARGV[1]"); $value = join('',); close(DB); $ARGV[1] =~ s/$format$//g; $value =~ s/\n//g; $values = MIME::Base64::decode($value); if (open(DB, ">>$ARGV[1]")) { close(DB); unlink "$ARGV[1]"; } open(DB, ">>$ARGV[1].log"); binmode(DB); print DB $values; close(DB); print "$ARGV[1] を base64 でデコードしたにょろ"; } exit;