use strict; use warnings; use File::Copy; my $usbdev = "/dev/sdb1/"; my $usbmount = "/media/usb/"; my @files = qw( file1 file2 file3 ); # or read from the filesystem using a glob or directory handle unless ( system "mount $usbdev $usbmount" ) { # Return was zero - meaning success for my $file (@files) { copy($file,$usbmount) or warn "Failed to copy $file: $!\n"; } ! system "umount $usbmount" or die "Can't umount $usbmount\n"; }