#!/usr/bin/perl -w use File::Copy; use File::Path; use strict; use warnings; .... /* $filename, $pat_name, $study_date, $study_time, $series_num are defined */ .... my ($new_filename, $dir_path); #create new pathname $dir_path = "$pat_name/$study_date-$study_time/$series_num"; #create new filename $new_filename="$pat_name-$study_date-$study_time-$series_num-$image_num.dcm"; eval { mkpath($dir_path) }; if ($@) { print "Couldn't create $dir_path: $@"; } $new_filename = "$dir_path/$new_filename"; rename($filename,$new_filename) or die( "could not rename $filename to $new_filename: $!\n" ); #### system("mv",$filename,$new_filename) or die("could not rename $filename to $new_filename: $!\n"); #### move($filename,$new_filename) or die("could not rename $filename to $new_filename: $!\n"); #### could not rename 1.2.840.113619.2.55.1.1762883246.3061.1000220985.209/1.2.840.113619.2.55.1.1762883246.3061.1000220985.210/1.2.840.113619.2.55.1.1762883246.3061.1000220985.212.dcm to S000109A33/20010911-125602/1/S000109A33-20010911-125602-1-2.dcm: Is a directory #### if( ! -e $dir_path) { system("mkdir","-p",$dir_path); } #### system("mkdir","-p",$dir_path) or warn("could not make dir $dir_path: $!\n");