#!/Perl/bin/perl -w use strict; use IO::File; use constant{KB => 2**10, MB => 2**20, GB => 2**30}; print "Enter the pathname and filename of the file to split: "; my $filename = ; #Format filename chomp($filename); $filename =~ s{\\}{\\\\}g; #Declare variables for use in until loop my $valid_block_type= 0; my $block_size = 0; #Generate a valid block size number until($valid_block_type) { #Declare local variables my $block_quantity = 0; my $block_type = 'B'; print "Enter the block size \n (example: 400KB,10MB,1GB): "; $block_size = ; chomp($block_size); if($block_size =~ m{(^[0-9]+)}) { $block_quantity = $1; } if($block_size =~ m{([a-zA-Z]{2}$)}) { $block_type = $1; } BLOCK_TYPE: { $block_type eq 'KB' && do{$block_size = $block_quantity * KB; $valid_block_type = 1; last BLOCK_TYPE;}; $block_type eq 'MB' && do{$block_size = $block_quantity * MB; $valid_block_type = 1; last BLOCK_TYPE;}; $block_type eq 'GB' && do{$block_size = $block_quantity * GB; $valid_block_type = 1; last BLOCK_TYPE;}; DEFAULT_BLOCK_TYPE: {print "Invalid block type specified!\n\n";} } if($block_quantity == 0) { print "Invalid block size specified!\n\n"; $valid_block_type = 0; } }