my $filename = "largefile.avi"; open(FH,"<$filename"); my $upload_cb = sub { if ( sysread FH, my $buffer, 4096 ){ return $buffer; } else { close FH; return ''; } } # later in the Code, when uploading the File, calling it like this $vid_fields{field_uploadfile} = [ $upload_cb ] ; $vid_fields{field_private_share_entities} = ""; $resp = upload_step_two($action_url, \%vid_fields);