Further to
this thread, in which I try to write a utility script to make my newly uploaded files executable, I've now got my ISP to let me run scripts suEXEC. And, bearing in mind the
helpful comments on my recently posted other code I have pared my script down to the script you see at the end of this node.(if sibling
pixel should read this - note that I have taken to heart your
advice about how to use CGI.pm, for which again thanks).
So that's fine. It works. It toggles the file permissions of files in a given directory.
BUT... does it toggle them from 644 to 755? It does not! It toggles them from 204 to 363. It consistently chmods files to 204 when I want 644 and 363 when I want 755. And it does the same thing if I try 0755 and 0644. I'm puzzled.
Is this something wrong with my script? If so, I'd be very grateful to know what. Or is it some obvious thing outside the script I should check - again, any advice gratefully received.
Here's the code:
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
print
header,
start_html(
-title=>'CHMOD UTILITY'
);
&do_chmod if param;
&send_form;
sub
do_chmod
{
for (param('Dirs')) {
my @files;
push @files, $_ while <$_*.p*>;
if (chmod param('Action'), @files) {
print "Changed permissions on " . join(" ; ",@files) . " t
+o " . param('Action') . "<BR>";
}
else {
print "Could not change permissions on " . join(" ; ",@fil
+es) . " to " . param('Action') . "<BR>";
}
}
print "DONE";
}
sub
send_form
{
my @dirs;
push @dirs, $_ while <../*/>;
print
startform(
-name=>'mainform',
-method=>'POST',
-action=>'chmod.pl',
),
checkbox_group(
'Dirs',
[@dirs],
[],
1,
),
submit(
-name=>'Action',
-value=>'0755',
),
submit(
-name=>'Action',
-value=>'0644',
),
endform,
end_html;
}
Thanks to all,
§
George Sherston
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.