use WWW::Mechanize; use Encode qw(from_to); my $config = { login => "login", password => "pass", source_folder => "$Bin/source_folder", }; my $mech = WWW::Mechanize->new( autocheck => 1 ); $mech->agent_alias("Windows IE 6"); $mech->get("http://www.antiplagiat.ru/Cabinet/Cabinet.aspx?folderId=689935"); authorize($mech); $mech->submit_form( form_number => 1, fields => {}, button => 'ctl00$ctl00$Body$MainWorkSpacePlaceHolder$FolderControl_StdFolder_0$DocumentsGrid$btnAddItem', ); find( \&wanted, $config->{source_folder} ); sub wanted { return unless -f; say $config->{source_folder} . "/" . $_; #from_to($_, "CP1251", "UTF8"); doesn't work too :-( my $mech = $mech->clone(); $mech->submit_form( form_number => 1, fields => { 'ctl00$ctl00$Body$MainWorkSpacePlaceHolder$fuDocumentUpload' => $config->{source_folder} . "/" . $_, }, button => 'ctl00$ctl00$Body$MainWorkSpacePlaceHolder$btnCommitUpload', ); }