フォームからファイルをアップロードするwebアプリケーションは、よく見かけますが、LWP::UserAagent を使用すれば、CLIプログラムでも可能です。
#!perl use strict; use warnings; use HTTP::Request::Common qw(POST); use LWP::UserAgent; use Data::Dumper; my $TARGET_CGI = 'http://hogehoge.jp/cgi-bin/receive_file.pl'; my $SUBMIT_CONTENT = [action => "input", input_kanji_code => "auto", #入力の文字コード output_file_format => "csv" ]; #出力形式 sub main { my ($upfile) = @_; my $ret_content = upload_file($upfile); print STDERR Dumper($ret_content); } sub upload_file { my ($upfile) = @_; my $ua = LWP::UserAgent->new; my @content = @$SUBMIT_CONTENT; push( @content, file => [$upfile]); my $res = $ua->request(POST $TARGET_CGI, Content_Type => 'form-data', Content => \@content ); unless ( $res->is_success ){ warn $res->as_string; return undef; } return $res->content; } main(@ARGV);