LINUX.ORG.RU

История изменений

Исправление pru-mike, (текущая версия) :

#!/usr/bin/env perl

use strict;
use warnings;
use autodie;
use LWP::Simple qw/$ua get/;

our $URL_TO_GET = "http://ya.ru/";
our $IP_FILE = q/my_ip.txt/;
our $EXT_IP_HOST = q[https://myexternalip.com/raw];

$ua->ssl_opts( verify_hostname => 0 );

sub save_ip ($) {
  my $new_ip = shift;
  open my $fh, '>', $IP_FILE;
  print $fh $new_ip;
}

my ($old_ip, $new_ip) = ("");
$new_ip = get "$EXT_IP_HOST" or die "Cannot gather ip from $EXT_IP_HOST\n";

if( -f $IP_FILE ){
  open my $fh, '<', $IP_FILE;
  $old_ip = <$fh>;
}else{
  save_ip $new_ip;
}

if($new_ip eq $old_ip){
  print STDERR "Nothing changed\n";
}else{
  print STDERR "Save new ip $new_ip\n";
  save_ip $new_ip;
  get $URL_TO_GET;
}

Исходная версия pru-mike, :

#!/usr/bin/env perl

use strict;
use warnings;
use autodie;
use LWP::Simple qw/$ua get/;

our $URL_TO_GET = "http://ya.ru/";
our $IP_FILE = q/my_ip.txt/;
our $EXT_IP_HOST = q[https://myexternalip.com/raw];

$ua->ssl_opts( verify_hostname => 0 );

sub save_ip ($) {
  my $new_ip = shift;
  open my $fh, '>', $IP_FILE;
  print $fh $new_ip;
}

my ($old_ip, $new_ip) = ("");
$new_ip = get "$EXT_IP_HOST" or die "Cannot gather ip from $EXT_IP_HOST\n";

if( -f $IP_FILE ){
  open my $fh, '<', $IP_FILE;
  $old_ip = <$fh>;
}else{
  save_ip $new_ip;
}

if($new_ip eq $old_ip){
  print STDERR "Nothing changed\n";
}else{
  print STDERR "Save new ip $new_ip\n";
  save_ip $new_ip;
  print get $URL_TO_GET;
}