#!/usr/bin/perl -w

# File, containing the remote address
$upload_filename = "upload.txt";
$saved_upload_filename = $upload_filename;

# Local files to copy
@files = join ' ', @ARGV;

# Search for $upload_filename first in the current directory,
# next in all parent directories

chomp($cwd = `pwd`);
@local_dirstack = split('/', $cwd);
$remote_rel_dir = ""; # This will grow as we ascend dir tree

while (@local_dirstack) {	# Until we are not in the filesystem root
	-e $upload_filename and goto FOUND;
	$remote_rel_dir = (pop @local_dirstack) . '/' . $remote_rel_dir;
	$upload_filename = '../' . $upload_filename;
}

# Went all the way up, but $upload_filename is not found
die "$saved_upload_filename not found in this or any parent dir";

FOUND:

chomp(my $remote_root = `cat $upload_filename`);
print "Copying @files to $remote_root/$remote_rel_dir\n";

system("scp -r @files $remote_root/$remote_rel_dir");

