# uuencode in perl

sub encode
{
	local ($input, $output) = @_;
	local ($n, $row, $uline);

	open(IN, $input) || die "Cannot open $input: $!\n";
	open(OUT, ">$output") || die "Cannot open $output: $!\n";

	printf OUT "begin 644 %s\n", $input;

	while (($n = read(IN, $row, 45)) > 0)
	{
		$uline = pack("u", $row);
		$uline =~ tr/ /`/;
		print OUT "$uline";
	}
	print OUT "`\nend\n";
	close (IN);
	close (OUT);
}

die "Usage: Uuencode input output\n" unless ($#ARGV == 1);

&encode(@ARGV);
