Dear Monks,
Could you please improve this code, i am new to perl, trying to see if i can do this code in a better way
my $sshport;
my $errorstate = 0;
print "\n Please Enter Custom port for SSH server:\n";
chomp($sshport = <STDIN>);
while (!$errorstate) {
if ($sshport =~ /^[1-9]\d{1,9}$/ ) {
$errorstate = 1;
} else {
print " Please Enter valid ssh port number:\n";
chomp($sshport = <STDIN>);
}
}
open (SSHD_CONFIG,'sshd_config') or die ("Could not able to open the f
+ile $!");
open (SSHD_CONFIG_NEW,">",'sshd_config.new') or die ("Could not create
+ the new file $!");
while (<SSHD_CONFIG>){
if (/^port/i) {
s/Port.+/Port $sshport/;
} elsif (/^#port\s/i) {
s/#Port.+/Port $sshport/;
}
print SSHD_CONFIG_NEW $_;
}
rename('sshd_config','sshd_config.old');
rename('sshd_config.new','sshd_config');
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.