for ( glob "*.abc" ) { ($new = $_) =~ s/\.abc$/.edf/; rename $_, $new or warn "can't rename '$_' to '$new': !"; }