platform/process/src/../../data/test.dat #### #!/usr/bin/perl -w use File::Spec; my $path = "/platform/process/src/../../common/src/line.c"; print $path,"\n"; $new_path = File::Spec->canonpath($path); print $new_path, "\n"; $c_path = File::Spec->rel2abs($path,"/platform"); print $c_path, "\n"; output: /platform/process/src/../../common/src/line.c /platform/process/src/../../common/src/line.c /platform/process/src/../../common/src/line.c