#!/usr/bin/perl $format = ".binary.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 = unpack("H*", $value); $values =~ s|a|A|g; $values =~ s|b|B|g; $values =~ s|c|C|g; $values =~ s|d|D|g; $values =~ s|e|E|g; $values =~ s|f|F|g; $values =~ s|(.{128})|$1\n|g; open(DB, ">$ARGV[1]$format"); print DB $values; close(DB); print "$ARGV[1] を バイナリテキストにしたにょろ"; } sub decode { if ($ARGV[1] =~ m/$format$/i) { open(DB, "$ARGV[1]"); $value = join('',); close(DB); $ARGV[1] =~ s/$format$//g; $value =~ s/(\s|\n)//g; $values = pack("H*", $value); if (open(DB, ">>$ARGV[1]")) { close(DB); unlink "$ARGV[1]"; } open(DB, ">>$ARGV[1]"); binmode(DB); print DB $values; close(DB); print "$ARGV[1] を バイナリデータにしたにょろ" } else { print "このデータはバイナリデータじゃないにょろ"; } } exit;