Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

How can i change the file extension?

by littlemonk (Sexton)
on Sep 23, 2012 at 19:06 UTC ( #995234=perlquestion: print w/ replies, xml ) Need Help??
littlemonk has asked for the wisdom of the Perl Monks concerning the following question:

Hi all, How can i change file extension of a file using perl ..suppose i have some files with ".txt" extension in a directory i wanna change these file to ".html" how can i do that in perl?

Comment on How can i change the file extension?
Replies are listed 'Best First'.
Re: How can i change the file extension?
by roboticus (Chancellor) on Sep 23, 2012 at 19:19 UTC
Re: How can i change the file extension?
by Anonymous Monk on Sep 23, 2012 at 19:17 UTC
    Take a look at the 'rename' function (perldoc -f rename).
    foreach my $file (glob '/path/*.txt') { (my $new_file = $file) =~ s{txt\z}{html}; rename $file => $new_file; }
Re: How can i change the file extension?
by pvaldes (Chaplain) on Sep 23, 2012 at 22:12 UTC

    To change the file extension is easy, either renaming or i.e:

    use File::Copy; copy("text.txt","text.html")

    But note that this is not the same as to change the type of file.

    So you probably want instead to convert your files to html files, and this is a different problem. Take a look to the module TextToHTML

    If you use GNU the file extension is not really relevant, you could have a jpg named file.txt or file.pdf and will be perfectly recognised as image

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://995234]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (16)
As of 2015-07-28 15:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (257 votes), past polls